js实现密码强度检测
来源: 阅读:733 次 日期:2016-07-14 16:20:06
温馨提示: 小编为您整理了“js实现密码强度检测”,方便广大网友查阅!

这篇文章主要介绍了js实现密码强度检测的相关实例,第一个例子给出了全部代码,可以直接运行,第二个例子只给出了js代码,感兴趣的码农可以自己完成第二个实例。

第一个实例

这段JavaScript代码比较实用,它完成用户注册时判断用户输入密码的强度,分强、弱、中三等级,它可以根据用户输入的密码显示对应的密码强弱等级,方便用户改进输入。

实现代码:

<html>

<head>

<title>JS判断密码强度</title>

<script language=javascript> 

//判断输入密码的类型 

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; 

//返回强度级别 

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); 

  

//显示颜色 

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>

</head>

<body> 

<form name=form1 action="" > 

密码:<input type=password size=8 onKeyUp=pwStrength(this.value) onBlur=pwStrength(this.value)> 

<br>密码强度: 

<table width="210" border="1" cellspacing="0" cellpadding="1" bordercolor="#eeeeee" height="22" style='display:inline'> 

<tr align="center" bgcolor="#f5f5f5"> 

<td width="33%" id="strength_L">弱</td> 

<td width="33%" id="strength_M">中</td> 

<td width="33%" id="strength_H">强</td> 

</tr> 

</table> 

</form>

</body>

</html>

第二个实例:

<script>

function AuthPasswd(string) {

  if (string.length >= 6) {

    if (/[a-zA-Z]+/.test(string) && /[0-9]+/.test(string) && /\W+\D+/.test(string)) {

      noticeAssign(1);

    } else if (/[a-zA-Z]+/.test(string) || /[0-9]+/.test(string) || /\W+\D+/.test(string)) {

      if (/[a-zA-Z]+/.test(string) && /[0-9]+/.test(string)) {

        noticeAssign( - 1);

      } else if (/\[a-zA-Z]+/.test(string) && /\W+\D+/.test(string)) {

        noticeAssign( - 1);

      } else if (/[0-9]+/.test(string) && /\W+\D+/.test(string)) {

        noticeAssign( - 1);

      } else {

        noticeAssign(0);

      }

    }

  } else {

    noticeAssign(null);

  }

}

function noticeAssign(num) {

  if (num == 1) {

    $('#weak').css({

      backgroundColor: '#009900'

    });

    $('#middle').css({

      backgroundColor: '#009900'

    });

    $('#strength').css({

      backgroundColor: '#009900'

    });

    $('#strength').html('很强');

    $('#middle').html('');

    $('#weak').html('');

  } else if (num == -1) {

    $('#weak').css({

      backgroundColor: '#ffcc33'

    });

    $('#middle').css({

      backgroundColor: '#ffcc33'

    });

    $('#strength').css({

      backgroundColor: ''

    });

    $('#weak').html('');

    $('#middle').html('中');

    $('#strength').html('');

  } else if (num == 0) {

    $('#weak').css({

      backgroundColor: '#dd0000'

    });

    $('#middle').css({

      backgroundColor: ''

    });

    $('#strength').css({

      backgroundColor: ''

    });

    $('#weak').html('弱');

    $('#middle').html('');

    $('#strength').html('');

  } else {

    $('#weak').html(' ');

    $('#middle').html(' ');

    $('#strength').html(' ');

    $('#weak').css({

      backgroundColor: ''

    });

    $('#middle').css({

      backgroundColor: ''

    });

    $('#strength').css({

      backgroundColor: ''

    });

  }

} < /script>

以上这篇js实现密码强度检测【附示例】就是小编分享给大家的全部内容了,希望能给大家一个参考

更多信息请查看网络编程
手机网站地址:js实现密码强度检测
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map