Middle
Најбоља апликација на свету Регистрација Возраст Пуно име Email Број телефона Лозинка Датум рођења Требања Возраст - клизач са ознакама 30 и 60 - У зависности од изабране вредности, примењује се попуст: До 30 - 5% До 60 - 10% После 60 - 22% Пуно име - ћирилица, - размак који дели делове пуне имена Email - маска @ Број телефона - +7 Лозинка - латиница - Не више од 8 карактера - садржи најмање 3 велика слова - Девети карактер је специјални карактер Датум рођења - формат дд.мм.гггг
sobes.tech АИ
Одговор од АИ
Для реализации регистрации с указанными требованиями можно использовать валидацию на стороне фронтенда и бэкенда.
Возраст:
- Использовать бегунок (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}$/
Такой подход обеспечит корректный ввод данных и позволит динамически рассчитывать скидку по возрасту.