【发布时间】:2017-02-04 18:35:12
【问题描述】:
我有以下验证码:
function validPassword(password)
{
var regex = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#-?&])[A-Za-z\d$@$!%*#-?&]{8,}$/;
var valid = regex.test(password);
return valid;
}
要求是: 最小长度 8 个字符,1 个特殊字符,1 个字母字符,最少 1 个数字。
我不熟悉正则表达式,但是,验证不适用于12345678a - 由于某种原因检测特殊字符不起作用..
有任何想法吗?谢谢
【问题讨论】:
-
您需要转义特殊字符而不是具有语义含义,在这种情况下
-在特殊字符部分(可能是其他字符) -
更改中间的破折号:regex101.com/r/gE6yM7/2
-
另外,为什么要加倍
$?你从哪里得到这个正则表达式?我看到很多问题都带有相同的双$。
标签: jquery regex validation passwords