我想使用以下代码进行至少一个字符,数字,大写和小写字符的密码验证
function fd3() {
alert("hii");
var v1 = document.getElementById("h3").value,
pass = /^([a-zA-Z0-9_@#$%^&*]+$)/;
if(!pass.test(v1)) {
alert("Wrong Password");
}
}
答案 0 :(得分:0)
严格来说,它确实符合你的Abc @ 123的例子。
Follow this link to see it matching Abc@123
然而,它并没有像你认为的那样做任何事情 - 它会匹配该组中的一个或多个角色 - 所以简单地说#34; A"单独就会匹配它。
你需要更复杂的东西:
^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$
Debuggex Demo of the working example
我还会注意到你没有要求最少数量的字符,所以我没有在正则表达式中包含它。我在这个正则表达式中的特殊字符列表也与您的不同,但如果这很重要,那么很容易被您更改。