我正在使用以下脚本来验证密码。验证的目标是:
- 密码字段不能为空
- 密码长度应介于 6 到 10 个字符之间
- 密码不应包含空格和特殊字符
- 密码应为字母数字。
但是使用以下代码,它通过了前 3 个目标,但即使在输入字母数字文本后,它仍然会发出警报:
"Password Should Contain Alphabet And Numbers Both".
需要你的帮助
代码是:
if(document.subForm.password.value==""){
alert("Please Enter Your Desired Password....");
document.subForm.password.focus();
return false;
}
if(document.subForm.password.value.length < 6 || document.subForm.password.value.length > 10){
alert("Password Length Should Be In Between 6 And 10 Characters.");
document.subForm.password.focus();
return false;
}
var re = /^[\w\A-Z]+$/;
if(!re.test(document.subForm.password.value)) {
alert ("Your Password Has Spaces In Between The Words \n\nOr\n\nIt Contains Special Characters.\n\nThese Are Not Allowed.\n\nPlease Remove Them And Try Again.");
document.subForm.password.focus();
return false;
}
var realphanumeric = /^[a-z_A-Z_0-9]+$/;
if (!realphanumeric.test(document.subForm.password.value)){
alert("Password Should Contain Alphabet And Numbers Both");
document.subForm.password.focus();
return false;
}
最佳答案
Aragon0建议使用开源script from dropbox检查密码强度。我建议您检查一下。
<小时/>如果您想要一个正则表达式来检查所有内容:
^\w{6,10}$
说明:
- 从字符串的开头 (
^
) 到结尾 ($
)... - 仅匹配字母数字字符 (
[A-Za-z_0-9]
), - 长度为 6-10 个字符 (
{6-10}
)
如果你想强制用户至少拥有一个号码,你可以这样做:
^(?![A-Za-z_]+$)\w{6,10}$
关于javascript - 密码验证脚本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25163171/