Sobes.tech
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}$/

Такой подход обеспечит корректный ввод данных и позволит динамически рассчитывать скидку по возрасту.