RegEx вопрос для проверки надежности пароля - PullRequest
5 голосов
/ 29 апреля 2011

Я ищу единственное регулярное выражение для наших требований к паролю. Пароли:

  • Должно быть не менее 8 символов
  • Не может содержать пробелы
  • Содержит как строчные, так и прописные буквы
  • Содержит хотя бы одну цифру
  • Содержит хотя бы один специальный символ (то есть любой символ, не 0-9,a-z,A-Z)

Ответы [ 2 ]

8 голосов
/ 29 апреля 2011

Вероятно, будет проще кодировать логику.Regex используется для сопоставления шаблонов.Пароли, как правило, являются случайными строками, поэтому проблема не может быть легко решена с помощью регулярных выражений.Это возможно, но будет загадочным для чтения и трудным в обслуживании.

4 голосов
/ 29 апреля 2011

Идея и большая часть работы взяты из http://www.zorched.net/2009/05/08/password-strength-validation-with-regular-expressions/

^\S*(?=\S{8,})(?=\S*[a-z])(?=\S*[A-Z])(?=\S*[\d])(?=\S*[\W])\S*$

Я использовал базовый ответ внизу его поста, но заменил все точки на \S, чтобы исключить пробелы,и перебрал некоторые из утверждений.

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