I am writing jquery validation to make a strong password. I wrote condition for special characters and it is not working. I am trying as below.
"regex": /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$])[0-9a-zA-Z]{8,}$/,
"alertText": "*Password should contain atleast one special character,one number and one upper case letter",
I am having trouble with (?=.*[!@#$])
part of code. If I remove this regular expression will work but it will not validate special characters. If I put (?=.*[!@#$])
nothing it will validate. Always I am getting an error popup. I am not sure about (?=.*[!@#$])
this part.
Your consuming character class at the end of the pattern ([0-9a-zA-Z]
) does not match the special chars that you require with the (?=.*[!@#$])
lookahead. Add those !@#$
chars there:
"regex": /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$])[0-9a-zA-Z!@#$]{8,}$/
^^^^