Middle
La mejor aplicación del mundo Registro Edad Nombre completo Email Número de teléfono Contraseña Fecha de nacimiento Requisitos Edad - Control deslizante con marcas en 30 y 60 - Según el valor seleccionado, se aplica un descuento: Hasta 30 - 5% Hasta 60 - 10% Después de 60 - 22% Nombre completo - cirílico, - espacio que separa las partes del nombre completo Email - máscara @ Número de teléfono - +7 Contraseña - latín - No más de 8 caracteres - Contiene al menos 3 letras mayúsculas - El noveno carácter es un carácter especial Fecha de nacimiento - Formato dd.mm.aaaa
sobes.tech AI
Respuesta de la IA
Для реализации регистрации с указанными требованиями можно использовать валидацию на стороне фронтенда и бэкенда.
Возраст:
- Использовать бегунок (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}$/
Такой подход обеспечит корректный ввод данных и позволит динамически рассчитывать скидку по возрасту.