我需要一个正则表达式来验证用户通过在线注册表单中的JS输入的密码。密码的标准如下:
我尝试使用以下正则表达式,但是如果输入任何特殊字符,例如'?'在大括号{之前,它将允许它作为有效输入。我是新手使用正则表达式而不是很熟悉,所以可能会有一些小问题:
^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[,#?!=@%&\^\$\*\)\(\_\.\'\"\+\-]).{8,}$
有人可以帮我准备一个正则表达式,还是指出我的任何问题?感谢
答案 0 :(得分:3)
要轻松禁止字符,请将.{8,}
更改为[^{}]{8,}
:
^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*[,#?!=@%&\^\$\*\)\(\_\.\'\"\+\-])[^{}]{8,}$
或在课程中包含任何授权的字母:
[a-zA-Z\d,#?!=@%&\^\$\*\)\(\_\.\'\"\+\-]{8,}