JS 验证密码:非空、含数字字母特殊字符且长度8-12位
作者:小括号时间:2026-10-22 04:57:25浏览:476
本文介绍如何使用 JavaScript 实现密码强度校验功能,要求密码不能为空,长度必须在8到12位之间,且必须同时包含数字、字母和特殊字符。通过遍历字符 ASCII 码判断类型,确保密码符合安全规范,适用于前端表单提交前的基础验证场景。
JavaScript 密码验证实现
直接提供实现代码,具体逻辑如下所示:
checkpassword = function(v){
var numasc = 0;
var charasc = 0;
var otherasc = 0;
if(0==v.length){
return "密码不能为空";
}else if(v.length<8||v.length>12){
return "密码至少8个字符,最多12个字符";
}else{
for (var i = 0; i < v.length; i++) {
var asciiNumber = v.substr(i, 1).charCodeAt();
if (asciiNumber >= 48 && asciiNumber <= 57) {
numasc += 1;
}
if ((asciiNumber >= 65 && asciiNumber <= 90)||(asciiNumber >= 97 && asciiNumber <= 122)) {
charasc += 1;
}
if ((asciiNumber >= 33 && asciiNumber <= 47)||(asciiNumber >= 58 && asciiNumber <= 64)||(asciiNumber >= 91 && asciiNumber <= 96)||(asciiNumber >= 123 && asciiNumber <= 126)) {
otherasc += 1;
}
}
if(0==numasc) {
return "密码必须含有数字";
}else if(0==charasc){
return "密码必须含有字母";
}else if(0==otherasc){
return "密码必须含有特殊字符";
}else{
return true;
}
}
};
上述内容介绍了使用 JavaScript 进行密码验证的方法,该验证规则要求密码非空、长度在8至12位之间,且必须包含数字、字母及特殊字符。希望这些信息能对您有所帮助,如有任何疑问欢迎留言,小编将及时回复。同时感谢大家对本站的支持!
作者最新文章
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
