Минимальная длина 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
здесь, чтобы проверить, что все символы находятся в белых символах «неспециализированных» символов.
Чистые запросы на ввод кода не относятся к теме при переполнении стека - мы ожидаем, что вопросы здесь относятся к * конкретным * проблемам программирования, - но мы, , с радостью поможем вам сами написать!Сообщите нам [что вы пытались] (http://stackoverflow.com/help/how-to-ask) и где вы застряли. Это также поможет нам лучше ответить на ваш вопрос. –
'^ (? = \ W * ([AZ] \ w * [0-9] | [0-9] \ w * [AZ]) \ w *). {7,} $' – horcrux
Hi thomas @ThomasAyoub Я очень новичок в веб-разработке. Я понимаю, что вы указываете. Но у меня не было никого другого, чтобы найти, как можно создать регулярное выражение для условия, чтобы я опубликовал. –