Middle
Dünyanın en iyi uygulaması Kayıt Yaş Tam ad E-posta Telefon numarası Şifre Doğum tarihi Gereksinimler Yaş - 30 ve 60'ta işaretli kaydırıcı - Seçilen değere göre indirim uygulanır: 30'a kadar - %5 60'a kadar - %10 60'tan sonra - %22 Tam ad - Kiril alfabesi, - Tam adın bölümlerini ayıran boşluk E-posta - @ maskesi Telefon numarası - +7 Şifre - Latin harfleri - En fazla 8 karakter - En az 3 büyük harf içerir - Dokuzuncu karakter özel karakter Doğum tarihi - Format gg.aa.yyyy
sobes.tech yapay zeka
AI'dan gelen yanıt
Для реализации регистрации с указанными требованиями можно использовать валидацию на стороне фронтенда и бэкенда.
Возраст:
- Использовать бегунок (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}$/
Такой подход обеспечит корректный ввод данных и позволит динамически рассчитывать скидку по возрасту.