Home  >  Article  >  Web Front-end  >  js实现的密码强度检测的两个实例

js实现的密码强度检测的两个实例

WBOY
WBOYOriginal
2016-06-01 09:54:381303browse

第一个实例

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

实现代码:

<code class="language-html">

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

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

</code>

在线运行

第二个实例:

<code class="language-javascript">
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: ''
        });
    }
} /</code>

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn