2016-07-20 5 views
-4

Regex для пароля минимальной длины-7 без специальных символов, по крайней мере один прописной и один номер.Как выполнить регулярное выражение для проверки пароля без специального символа?

В моем случае, регулярное выражение, которое удовлетворяет:

Killer1 - по крайней мере один прописные (K), по крайней мере один номер (1), Minumum длина - 7

Melbourne123- действует

London24 - действует

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

+0

Чистые запросы на ввод кода не относятся к теме при переполнении стека - мы ожидаем, что вопросы здесь относятся к * конкретным * проблемам программирования, - но мы, , с радостью поможем вам сами написать!Сообщите нам [что вы пытались] (http://stackoverflow.com/help/how-to-ask) и где вы застряли. Это также поможет нам лучше ответить на ваш вопрос. –

+0

'^ (? = \ W * ([AZ] \ w * [0-9] | [0-9] \ w * [AZ]) \ w *). {7,} $' – horcrux

+0

Hi thomas @ThomasAyoub Я очень новичок в веб-разработке. Я понимаю, что вы указываете. Но у меня не было никого другого, чтобы найти, как можно создать регулярное выражение для условия, чтобы я опубликовал. –

ответ

2

Минимальная длина 7

Эта часть является удивительно простой. Вы можете просто использовать:

.{7,} 

Для того, чтобы выполнять другие проверки в одном регулярном выражении, вы должны использовать в look-aheads следующим образом:

по меньшей мере, один верхний регистр

(?=.*[A-Z]) 

по меньшей мере, один номер

(?=.*\d) 

без специальных символов

Я настоятельно советую против этого требования, если вообще возможно. Добавление этого не улучшает вашу безопасность и будет только помешать вашим пользователям. Но, если вам действительно необходимо, то:

(?!.*[^a-zA-Z0-9]) 

(Изменить выше в зависимости от обстоятельств - в зависимости от того, что именно вы имеете в виду под «специальными» символами.)

Сведя все это вместе в единый узор, окончательный ответ:

\A(?=.*[A-Z])(?=.*\d)(?!.*[^a-zA-Z0-9]).{7,} 

Вы также могли бы упростить это регулярное выражение немного, по не слиянию «никаких специальных символов» и «требования минимальной длиной» в одно условие регулярного выражения следующим образом:

\A(?=.*[A-Z])(?=.*\d)[a-zA-Z0-9]{7,}\z 

(Обратите внимание на дополнительное использование якоря \z здесь, чтобы проверить, что все символы находятся в белых символах «неспециализированных» символов.

+0

Спасибо. Он очистил сценарий –

Смежные вопросы