Я пытаюсь создать регулярное выражение для проверки имен пользователей по этим критериям:
- Только содержит буквенно-цифровые символы, подчеркивание и точка.
- Подчеркивание и точка не могут быть в конце или
начало имени пользователя (например,
_username
/username_
/.username
/username.
). - Подчеркивание и точка не могут быть рядом друг с другом (например,
user_.name
). - Подчеркивание или точка не могут использоваться несколько раз подряд (например,
user__name
/user..name
). - Количество символов должно быть от 8 до 20.
Это то, что я сделал до сих пор; это звучит, что он применяет все критерии, но пятое правило. Я не знаю, как добавить к этому 5-е правило:
^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$