Имя пользователя
Прогресс комнаты
0 / 4
Задание 1Введение
Цель: Валидировать имена пользователей.
Напишите valid_username(s): 3–20 символов a-z 0-9 _, начинается с буквы, нет __ подряд, не входит в зарезервированные admin root system support.
Задание 2Теория и инструменты
Строгий формат имени защищает от подмены похожими символами, путаницы в URL и захвата служебных имён.
Регулярное выражение должно совпадать со строкой целиком.
Инструменты
- Python 3 или Node.js
- Встроенные тесты в редакторе
Больше теории — в разделе «Обучение: Защита (код)».
Задание 3Практика: напишите код
Примеры
Пример 1
valid_username("alice")
→ trueПример 2
valid_username("al")
→ falseЕщё 10 скрытых тестов.
Пошаговый план — открывайте по одному шагу
- 1Проверьте формат: буква, затем 2–19 символов
a-z0-9_. - 2Запретите
__. - 3Проверьте список зарезервированных имён.
Подсказки — каждая до решения стоит −25 очков
Задание 4Как защититься
Нормализуйте имена (регистр, Юникод) до проверки уникальности.
Разборы участников
Разборы открываются после того, как вы решите комнату, — чтобы не спойлерить ответ.