js實(shí)現(xiàn)密碼強(qiáng)度檢測(cè)
來(lái)源:易賢網(wǎng) 閱讀:778 次 日期:2016-07-14 16:20:06
溫馨提示:易賢網(wǎng)小編為您整理了“js實(shí)現(xiàn)密碼強(qiáng)度檢測(cè)”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了js實(shí)現(xiàn)密碼強(qiáng)度檢測(cè)的相關(guān)實(shí)例,第一個(gè)例子給出了全部代碼,可以直接運(yùn)行,第二個(gè)例子只給出了js代碼,感興趣的碼農(nóng)可以自己完成第二個(gè)實(shí)例。

第一個(gè)實(shí)例

這段JavaScript代碼比較實(shí)用,它完成用戶注冊(cè)時(shí)判斷用戶輸入密碼的強(qiáng)度,分強(qiáng)、弱、中三等級(jí),它可以根據(jù)用戶輸入的密碼顯示對(duì)應(yīng)的密碼強(qiáng)弱等級(jí),方便用戶改進(jìn)輸入。

實(shí)現(xiàn)代碼:

<html>

<head>

<title>JS判斷密碼強(qiáng)度</title>

<script language=javascript> 

//判斷輸入密碼的類型 

function CharMode(iN){ 

if (iN>=48 && iN <=57) //數(shù)字 

return 1; 

if (iN>=65 && iN <=90) //大寫 

return 2; 

if (iN>=97 && iN <=122) //小寫 

return 4; 

else 

return 8; 

//bitTotal函數(shù) 

//計(jì)算密碼模式 

function bitTotal(num){ 

modes=0; 

for (i=0;i<4;i++){ 

if (num & 1) modes++; 

num>>>=1; 

return modes; 

//返回強(qiáng)度級(jí)別 

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>密碼強(qiáng)度: 

<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">強(qiáng)</td> 

</tr> 

</table> 

</form>

</body>

</html>

第二個(gè)實(shí)例:

<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('很強(qiáng)');

    $('#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實(shí)現(xiàn)密碼強(qiáng)度檢測(cè)【附示例】就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:js實(shí)現(xiàn)密碼強(qiáng)度檢測(cè)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)