Sobes.tech
Middle

Pasaulio geriausia programa Registracija Amžius Visas vardas El. paštas Telefono numeris Slaptažodis Gimimo data Reikalavimai Amžius - Slankiklis su žymėmis 30 ir 60 - Priklausomai nuo pasirinktos vertės, taikoma nuolaida: Iki 30 - 5% Iki 60 - 10% Po 60 - 22% Visas vardas - kirilica, - tarpas, kuris skiria viso vardo dalis El. paštas - @ kaukė Telefono numeris - +7 Slaptažodis - lotyniškas - Ne daugiau kaip 8 simboliai - Bent 3 didžiosios raidės - Devintoji simbolis yra specialus simbolis Gimimo data - formato dd.mm.yyyy

sobes.tech AI

Atsakymas iš 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}$/

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