Регулярное выражение для проверки имени пользователя

Я пытаюсь создать регулярное выражение для проверки имен пользователей по этим критериям:

  1. Содержит только буквенно-цифровых символов, подчеркивание и точка .
  2. Подчеркивание и точка не могут стоять в конце или в конце . начало имени пользователя (например _username/ username_/ .username/username.).
  3. Подчеркивание и точка не могут стоять рядом друг с другом(напримерuser_.name).
  4. Подчеркивание или точку нельзя использовать несколько раз подряд(например user__name/user..name).
  5. Количество символов должно быть от 8 до 20.

Это то, что я сделал до сих пор; кажется, что он применяет все правила критериев , кроме 5-го правила . Я не знаю, как добавить 5-е правило к этому:

 ^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$
44
задан Ωmega 19 September 2019 в 12:54
поделиться