Middle
Cea mai bună aplicație din lume Înregistrare Vârstă Nume complet Email Număr de telefon Parolă Data nașterii Cerinte Vârstă - Glisor cu marcaje la 30 și 60 - În funcție de valoarea aleasă, se aplică o reducere: Până la 30 - 5% Până la 60 - 10% După 60 - 22% Nume complet - cirilice, - spațiu care separă părțile numelui complet Email - mască @ Număr de telefon - +7 Parolă - Latină - Nu mai mult de 8 caractere - Conține cel puțin 3 litere majuscule - Al nouălea caracter este un caracter special Data nașterii - Format dd.mm.aaaa
sobes.tech AI
Răspuns de la AI
Для реализации регистрации с указанными требованиями можно использовать валидацию на стороне фронтенда и бэкенда.
Возраст:
- Использовать бегунок (slider) с отметками 30 и 60.
- В зависимости от выбранного значения вычислять скидку:
- До 30 лет — 5%
- До 60 лет — 10%
- Старше 60 — 22%
ФИО:
- Проверять, что введён текст на кириллице.
- Части ФИО разделены пробелом.
- Регулярное выражение для проверки:
/^[А-ЯЁ][а-яё]+(\s[А-ЯЁ][а-яё]+){1,2}$/
Email:
- Проверять наличие символа
@и базовую структуру email. - Пример регулярного выражения:
/^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,}$/
Номер телефона:
- Проверять, что номер начинается с
+7. - Пример:
/^\+7\d{10}$/
Пароль:
- Латиница, не более 8 символов.
- Минимум 3 заглавные буквы.
- Девятый символ — спецсимвол (если длина >= 9).
- Пример проверки:
import re
password = "AbCDefGh!"
if len(password) <= 8:
print("Пароль слишком короткий")
else:
uppercase_count = len(re.findall(r'[A-Z]', password))
if uppercase_count < 3:
print("Меньше 3 заглавных букв")
if len(password) >= 9 and not re.match(r'.{8}[!@#$%^&*]', password):
print("Девятый символ не спецсимвол")
Дата рождения:
- Формат
дд.мм.гггг. - Проверка регулярным выражением:
/^(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[0-2])\.\d{4}$/
Такой подход обеспечит корректный ввод данных и позволит динамически рассчитывать скидку по возрасту.