Regex - не разрешать прописные буквы - PullRequest
1 голос
/ 03 мая 2020

В настоящее время я проверяю имя пользователя во внешнем интерфейсе (Vuetify), а также во внутреннем интерфейсе (Laravel), как бы вы добавили проверку в этот Regex, чтобы исключить заглавные буквы:

^(?!.*\.\.)(?!.*\.$)[^\W][\w.]{0,29}$

Вместо \w ( Word - Соответствует любым символам слова (alphanumeri c и подчеркивание)). Я пробовал что-то подобное, но он по-прежнему допускает символы в верхнем регистре:

^(?!.*\.\.)(?!.*\.$)[^\W][a-z0-9_.]{0,29}$

Требуемый результат в этих строках подтверждается:

  • riegiejeyaranchen
  • rieg ie .jeyaranchen
  • _rieg ie .jeyaranchen
  • rieg ie ._. jeyaranchen
  • rieg ie .___. wewsd

и эти ошибки:

  • Rieg ie. Jeyaranchen
  • .rieg ie
  • rieg ie .. jeyaranchen
  • rieg ie.
  • Rieg ie

1 Ответ

1 голос
/ 03 мая 2020

Вы можете использовать:

^(?!.*\.\.)(?!.*\.$)[a-z0-9_][a-z0-9_.]{1,28}$

, что будет соответствовать вашим требованиям. [^\W] допускается для любого алфавитного символа c или подчеркивания до проверки 29 символов. Это также двойной негатив, который легче написать, \w.

Вы можете увидеть его здесь, https://regex101.com/r/Bh6Tbd/2/, по сравнению с https://regex101.com/r/Bh6Tbd/3/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...