js实现评估密码的强度
<script type="text/javascript">
//CharMode函数
//测试某个字符是属于哪一类.
function CharMode(iN){
if (iN>=48 && iN <=57) //数字
return 1;
if (iN>=65 && iN <=90) //大写字母
return 2;
if (iN>=97 && iN <=122) //小写
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;
}
//checkStrong函数
//返回密码的强度级别
function checkStrong(sPW){
if (sPW.length<=4)
return 0; //密码太短
Modes=0;
for (i=0;i<sPW.length;i++){
//测试每一个字符的类别并统计一共有多少种模式.
Modes|=CharMode(sPW.charCodeAt(i));
}
return bitTotal(Modes);
}
//pwStrength函数
//当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色
function pwStrength(pwd){
O_color="#eeeeee";
L_color="#FF0000";
M_color="#FF9900";
H_color="#33CC00";
if (pwd==null||pwd==''){
Lcolor=Mcolor=Hcolor=O_color;
}
else{
S_level=checkStrong(pwd);
switch(S_level) {
case 0:
Lcolor=Mcolor=Hcolor=O_color;
case 1:
Lcolor=L_color;
Mcolor=Hcolor=O_color;
break;
case 2:
Lcolor=Mcolor=M_color;
Hcolor=O_color;
break;
default:
Lcolor=Mcolor=Hcolor=H_color;
}
}
document.getElementById("strength_L").style.background=Lcolor;
document.getElementById("strength_M").style.background=Mcolor;
document.getElementById("strength_H").style.background=Hcolor;
return;
}
</scrīpt>
<form name=form1 action="" >
输入密码:<input type=password size=10 onKeyUp=pwStrength(this.value) onBlur=pwStrength(this.value)>
<br>密码强度:
<table width="217" border="1" cellspacing="0" cellpadding="1" bordercolor="#cccccc" height="23" style='display:inline'>
<tr align="center" bgcolor="#eeeeee">
<td width="33%" id="strength_L">弱</td>
<td width="33%" id="strength_M">中</td>
<td width="33%" id="strength_H">强</td>
</tr>
</table>
</form>
检验密码强度的JS类
<script type="text/javascript">
var PasswordStrength ={
Level : ["高,实在是高","还行啦","靠,这样也行"],
LevelValue : [30,20,0],//强度值
Factor : [1,2,5],//字符加数,分别为字母,数字,其它
KindFactor : [0,0,10,20],//密码含几种组成的加数
Regex : [/[a-zA-Z]/g,/\d/g,/[^a-zA-Z0-9]/g] //字符正则数字正则其它正则
}
PasswordStrength.StrengthValue = function(pwd)
{
var strengthValue = 0;
var ComposedKind = 0;
for(var i = 0 ; i < this.Regex.length;i++)
{
var chars = pwd.match(this.Regex[i]);
if(chars != null)
{
strengthValue += chars.length * this.Factor[i];
ComposedKind ++;
}
}
strengthValue += this.KindFactor[ComposedKind];
return strengthValue;
}
PasswordStrength.StrengthLevel = function(pwd)
{
var value = this.StrengthValue(pwd);
for(var i = 0 ; i < this.LevelValue.length ; i ++)
{
if(value >= this.LevelValue[i] )
return this.Level[i];
}
}
alert(PasswordStrength.StrengthLevel("23"));
alert(PasswordStrength.StrengthLevel("abcd123"));
alert(PasswordStrength.StrengthLevel("abcd!%23"));
</script>
分享到:
相关推荐
javascript评估用户密码强度 doc o!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
JS如何判断密码强度 本程序按以下的方式进行评估. 1.如果密码少于5位,那么就认为这是一个弱密码. 2.如果密码只由数字、小写字母、大写字母或其它特殊符号当中的一种组成,则认为这是一个弱密码. 3.如果密码由数字...
用于评估密码强度的VanillaJavaScript插件_JavaScript_HT
用Javascript评估用户输入密码的强度
在 JavaScript 中,我们可以实现密码强度检查器,以根据某些标准评估密码的健壮性。 为了确定密码的强度,我们通常会考虑长度、是否存在大写和小写字母、数字和特殊字符等因素。强密码通常将这些元素组合在一起以...
内容索引:脚本资源,jQuery,密码强度检测 jquery 密码强度值检测 评估密码是否安全,在文本框内输入密码后,会适时显示时间,用时间的长短来告之用户这个密码是否容易被感触,时间越长,说明越不容易被破解。密码...
用Javascript评估用户输入密码的强度实现代码,需要的朋友可以参考下。
早上看到博友6点多发的一篇关于密码强度的文章(连接),甚是感动(周末大早上还来发文)
用JavaScript实现仿Windows关机效果 js访问xml之遍历节点树 JS技术大全(防止复制,粘贴等) ...用Javascript评估用户输入密码的强度 用JavaScript实现仿Windows关机效果 用JavaScript实现仿Windows关机效果
在以下出版物中评估了它对密码安全性和可用性的影响:Ur等。 “数据驱动密码表的设计和评估。” 在《 CHI论文集》中,2017年 //dl.acm.org/citation.cfm id 该项目是用TypeScript编写的,可以将其编译为...
外一篇 用javascript改变onclick调用的函数 用JavaScript加密保护网站页面 用Javascript检测网速的方法 用Javascript评估用户输入密码的强度 用JavaScript实现仿Windows关机效果 用javascript实现...
密码生成器+强度检查器|它从字母数字+符号的字符池中生成长度为8的随机字符串。 至于强度检查器,它将检查密码是否包含Lowecase字母(az),大写字母(AZ),数字(0-9)和符号。 使用P5.js的时钟|使用P5.js,我...
计算 0.0 到 1.0 范围内的密码强度。 该指令评估下一个方式。 从各个角度来看,越多越好。 密码长度 多种字符类型 < input type =" password " password-strength =" passwordStrength " > < span> password...
1.7.2 类型强度 1.7.3 类型转换 1.7.4 可变变量 1.8 声明和使用常量 1.9 理解变量的作用域 1.10 使用操作符 1.10.1 算术操作符 1.10.2 字符串操作符 1.10.3 赋值操作符 1.10.4 比较操作符 1.10.5 逻辑操作符 1.10.6 ...
1.7.2 类型强度 1.7.3 类型转换 1.7.4 可变变量 1.8 声明和使用常量 1.9 理解变量的作用域 1.10 使用操作符 1.10.1 算术操作符 1.10.2 字符串操作符 1.10.3 赋值操作符 1.10.4 比较操作符 1.10.5 逻辑操作符 ...
1.7.2 类型强度 1.7.3 类型转换 1.7.4 可变变量 1.8 声明和使用常量 1.9 理解变量的作用域 1.10 使用操作符 1.10.1 算术操作符 1.10.2 字符串操作符 1.10.3 赋值操作符 1.10.4 比较操作符 1.10.5 逻辑操作符 ...