JavaScript 密码强度判断代码

 更新时间:2009年09月05日 01:07:10   作者:  
JavaScript 密码强度判断代码,其实就是利用了判断一些特殊符号,字符串长度等来实现判断。
复制代码 代码如下:

<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;
}
</script>


<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中onload与onunload的使用示例

    js中onload与onunload的使用示例

    onload与onunload想必大家并不陌生吧,下面为大家演示下js中onload与onunload的妙用,感兴趣的朋友可以参考下,希望对大家有所帮助
    2013-08-08
  • iScroll中事件点击触发两次解决方案

    iScroll中事件点击触发两次解决方案

    iScroll是我们在做手机网页中常用的滑动控件之一。单说其功能已相当丰富。但个别时候也是会掉坑的,正好这次就遇上了。在android的app中嵌入网页时不少手机会出现一次点击两次触发的现象。经过一段时间的折腾,总算想到了一个还算合理的解决放案。
    2015-03-03
  • HTML+JS实现在线朗读器

    HTML+JS实现在线朗读器

    这篇文章主要介绍了利用HTML和JavaScript制作一个朗读器,可以跟着一起念着读,文中的示例代码讲解详细,感兴趣的小伙伴可以学习一下
    2022-02-02
  • 如何用JS追踪用户

    如何用JS追踪用户

    本文介绍如何编写JavaScript脚本,将用户数据发回服务器。对此感兴趣的同学,可以参考下
    2021-05-05
  • javascript类型系统 Array对象学习笔记

    javascript类型系统 Array对象学习笔记

    这篇文章主要介绍了javascript类型系统之Array对象,整理关于Array对象的学习笔记,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • 详解Javascript继承的实现

    详解Javascript继承的实现

    这篇文章主要介绍了详解Javascript继承的实现的相关资料,需要的朋友可以参考下
    2016-03-03
  • js金额数字格式化实现代码(加减逗号处理)

    js金额数字格式化实现代码(加减逗号处理)

    这篇文章主要介绍了js中将数字格式化为金额的方法,使用加减逗号处理金额,一个格式化金额的代码,有需要的朋友参考下
    2014-04-04
  • js实现三角形粒子运动

    js实现三角形粒子运动

    这篇文章主要为大家详细介绍了js实现三角形粒子运动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • JavaScript实现异步任务循环顺序执行详解

    JavaScript实现异步任务循环顺序执行详解

    这篇文章主要为大家详细介绍了JavaScript中实现异步任务循环顺序执行的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-03-03
  • javascript当中的代码嗅探扩展原生对象和原型(prototype)

    javascript当中的代码嗅探扩展原生对象和原型(prototype)

    如果不是有特殊需要而去扩展原生对象和原型(prototype)的做法是不好的,除非这样做是值得的,例如,向一些旧的浏览器中添加一些ECMAScript5中的方法
    2013-01-01

最新评论