Запретить строку только со специальными символами - PullRequest
0 голосов
/ 18 июня 2020

У меня есть регулярное выражение, которое работает нормально:

^(?!\\d+$)\\S{8,}$
  • (?!d+$) // Запрещать только числа
  • \S{8,} // Разрешить специальные символы, но пробелы и минимум 8 символов;

Но мне нужно добавить еще одну вещь: запретить, если строка состоит только из специальных символов.

попытался применить тот же лог c, что и «только числа запрещены», добавить

(?!\\S+$))

к существующему регулярному выражению, но не сработало, как ожидалось.

obs: Я буду работать с разными языками, поэтому "специальные символы" будут:

! @ # $ % & * ( ) _ - = < > , . ? } ] { [ +

1 Ответ

0 голосов
/ 18 июня 2020

Запретить, если строка состоит только из специальных символов.

Для этого добавьте еще одно утверждение отрицательного просмотра вперед:

^(?!\\d+$)(?![-!@#$%&*()_=<>,.;]+$)\\S{8,}$

(?![-!@#$%&*()_=<>,.;]+$) - отрицательный просмотр вперед, чтобы не выполнить соответствует, если ввод содержит только перечисленные символы.

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