本文实例讲述了JS实现至少包含字母、大小写数字、字符的密码等级的两种方法。分享给大家供大家参考。具体如下:
前言
密码,如果设置的太简单,很容易就被攻破,所以很多网站将密码设置的要求设置的挺严格,一般是字母、数字、字符3选2,区分大小写。对于设置得太简单的密码,予以错误提示。或者予以密码等级(低中高)显示,让用户设置高级密码。那如何利用JS实现呢?
实现代码如下:
= 48 && iN <= 57)//数字
return 1;
if (iN >= 65 && iN <= 90) //大写字母
return 2;
if ((iN >= 97 && iN <= 122) || (iN >= 65 && iN <= 90))
//大小写
return 4;
else
return 8; //特殊字符
}
//bitTotal函数
function bitTotal(num) {
modes = 0;
for (i = 0; i < 4; i++) {
if (num & 1) modes++;
num >>>= 1;
}
return modes;
}
}
使用
普通使用
使用语法:passwordLevel(string) 验证规则:数字、大写字母、小写字母、特殊字符 函数结果:返回密码中包含的规则数 运行例子:
passwordLevel("Abc'123456") //返回4
结合jquery.validate.js使用:
添加验证方法:至少包含两种规则
$.validator.addMethod("h3Psw",function(value,element){
if(passwordLevel(value)==1){returnfalse;}
returntrue
},"格式不符合");
//开始验证
$(".form").validate({
rules:{
pwd:{
required:true,//必填
minlength:6,//最小长度
maxlength:32,//最大长度
h3Psw:true,//密码强度
},repwd:{
required:true,minlength:6,maxlength:32,equalTo:"#pwd" //再次填写密码需一致
}
}
});
关于密码生成与强度检测感兴趣的朋友还可参考在线工具:
生成工具
希望本文所述对大家的javascript程序设计有所帮助。