Регулярное выражение для правила пароля - PullRequest
1 голос
/ 09 марта 2012

У меня странное требование для настройки правила пароля ..: |Мое требование состоит в том, чтобы установить правило пароля, разрешающее вводить только заглавные буквы, и длина пароля не менее 5, максимальная длина пароля - 8. Я соответственно использовал следующее выражение:* Но, это не работает таким образом.Позже я узнал, что [AZ] не означает, что разрешены только заглавные буквы, это означает, что по крайней мере одна должна быть заглавной.Он отлично работает с диапазоном {5,8}, пожалуйста, помогите мне выполнить другое требование, разрешающее использование только заглавных букв.Если да, то дайте мне знать, как написать отрицание?

Заранее спасибо ..

Ответы [ 2 ]

3 голосов
/ 09 марта 2012

Следующее звучит как простейшая реализация того, что вы описываете:

^[A-Z]{5,8}$

Я не уверен, зачем вам нужно что-то вроде (?=...), которое является "позитивным прогнозом нулевой ширины". Просто сопоставьте строку, ничего сложного.

2 голосов
/ 09 марта 2012

Правило должно быть примерно таким:

^(?=[A-Z]{5-8}$)

Это означает: 5-8 A-Z букв, за которыми следует конец строки. Обратите внимание, что я поместил $ IN в (), чтобы вы могли добавить другие правила / использовать строку

^(?=[A-Z]{5-8}$)(?!A+$)

Например, это то же самое, плюс правило исключения «только А», поэтому нет AAAAA, AAAAAA ...

...