Пожалуйста, помогите мне о проверке preg матча - PullRequest
0 голосов
/ 31 октября 2010

Мне нужно подтвердить пароль, оно должно соответствовать следующим требованиям:

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

Пожалуйста, помогите мне сделать это ... любые предложения будут большой помощью. Спасибо

Ответы [ 2 ]

0 голосов
/ 31 октября 2010

Если вы действительно хотите получить регулярное выражение для этого, вам придется использовать утверждения:

/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[\W\D\S]).{8,}$/

Теперь в сложной части нет последовательных символов. Я предлагаю делать это с циклом, а не с регулярным выражением (на самом деле, я не знаю, как сделать это с регулярным выражением).

0 голосов
/ 31 октября 2010

Итерация строки.Если символ в верхнем регистре, установите для bool isUppercase значение true ... Если символ является специальным символом, установите для bool isSpecialCharacter значение true.Если разница между этим и предыдущим символами равна 1, то у вас есть два последовательных символа, и вы можете прекратить итерацию затем (установите для bool haveConsecutiveCharacters значение true).

Суть последовательных символов в том, что если один из них являетсяспециальный символ, тогда они не являются последовательными (рассмотрим 'Z' и '[', которые находятся рядом друг с другом в таблице ASCII).

После итерации проверьте, все ли логические значения истинны и нет ли последовательных символов.

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