регулярное выражение для паролей не менее 8 символов, прописные, строчные, цифры, специальные символы и не повторяется? - PullRequest
0 голосов
/ 21 февраля 2019

Привет, я хочу найти регулярное выражение, удовлетворяющее этим условиям.

(1) Пароли должны содержать не менее 8 символов (2) оно должно содержать как минимум заглавные, строчные буквы, цифры и специальные символы,(3) пароль не содержит более двух последовательных идентичных символов.

У меня есть регулярное выражение для первых двух точек ^ (? =. ? [AZ]) (? =. ? [az]) (? =. ? [0-9]) (? =. ? [#?! @ $% ^ & * -]). {8,} $

Я думаю, что это регулярное выражение для строки повторения: (?! (.) \ 1 {2,})

не уверен, как я могу объединить их оба.

пожалуйста, помогите поблагодарить вас большое количество

1 Ответ

0 голосов
/ 21 февраля 2019

Хорошо, тогда это может не быть симпатичным , но, похоже, делает свою работу:
^(?!.*(.)\1\1)(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[.\-!?§$%&]).{8,}.*$ Вы можете увидеть рабочую демонстрацию здесь .

Сайт, на который я ссылался выше, дает хорошие объяснения по поводу регулярных выражений.Пожалуйста, постарайтесь хотя бы понять, что здесь происходит, чтобы вы могли обнаружить ошибки, возникающие при использовании такого уродливого RegEx (и поэтому SO становится не сайтом службы кодирования, а местом, где можно учиться).

Обратите внимание, что «специальные символы» в этом примере .-!?§$%&.Если вы хотите, чтобы там были другие, добавьте их туда, где они есть в шаблоне.И не забудьте экранировать - с \ в классах символов, так как они имеют здесь особое значение.Как в этой части: .\-!?§$%&.

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