2017-01-20 10 views
3

Я пишу подтверждение jquery, чтобы создать надежный пароль. Я написал условие для специальных символов, и он не работает. Я стараюсь, как показано ниже.Проверка JQuery не работает для специальных символов

"regex": /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]#$])[0-9a-zA-Z]{8,}$/, 
"alertText": "*Password should contain atleast one special character,one number and one upper case letter", 

У меня возникли проблемы с (?=.*[[email protected]#$]) часть кода. Если я удалю это регулярное выражение, оно будет работать, но оно не будет проверять специальные символы. Если я положил (?=.*[[email protected]#$]), он ничего не подтвердит. Всегда появляется всплывающее окно с ошибкой. Я не уверен насчет (?=.*[[email protected]#$]) этой части.

+0

Добавьте символ '! @ # $' В класс символов в конце. –

+0

Имейте в виду, что этот JS-код используется только на клиенте и легко отключается. Вам также необходимо проверить пароль на сервере. –

ответ

2

Ваш потребительский класс символов в конце рисунка ([0-9a-zA-Z]) не соответствует специальным символам, которые вам нужны, с обзором (?=.*[[email protected]#$]). Добавьте те [email protected]#$ символов:

"regex": /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]#$])[[email protected]#$]{8,}$/ 
                   ^^^^ 
+1

Работаю как шарм. Спасибо. –