【发布时间】:2014-09-24 00:12:22
【问题描述】:
我遇到了密码验证问题。 这是我的代码:
function validatePassword(){
var password = document.getElementById("password").value;
var re = /^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,16}$/;
if(!password.match(re)){
producePromt("The password is invalid","commandPasswordPrompt","red");
return false;
}
producePromt("Password is OK","commandPasswordPrompt","green");
return true;
}
它说它唯一无效,所以我认为这是因为正则表达式。 我问你是否可以在这里帮忙。
非常感谢帮助!
【问题讨论】:
-
你能知道哪个密码字符串无效吗?
-
你有没有试过用regexpal.com之类的东西来测试一些样本数据?
-
regex101.com 还会为您提供已解析正则表达式的文字说明。
-
看起来您的正则表达式接受 6 到 16 个字符的密码,而且它必须包含数字、特殊字符而不一定是字母……这是您想要的吗?
-
上面的表达式表明您的密码长度应在 6 到 16 个字符之间,并且至少应包含一个数字和一个特殊字符才能有效
标签: javascript regex validation passwords