當(dāng)前位置:軟件學(xué)堂 > 資訊首頁 > 網(wǎng)絡(luò)編程 > 編程其他 > 通過JS對(duì)密碼強(qiáng)度進(jìn)行檢查

通過JS對(duì)密碼強(qiáng)度進(jìn)行檢查

2012/11/9 11:29:17作者:佚名來源:網(wǎng)絡(luò)

移動(dòng)端

【實(shí)例名稱】

通過JS對(duì)密碼強(qiáng)度進(jìn)行檢查

【實(shí)例描述】

密碼強(qiáng)度檢查一般用在網(wǎng)站用戶注冊(cè)時(shí),用來檢查用戶輸入的密碼是否安全,此功能也是Ajax Web 2.0技術(shù)的特色。本例學(xué)習(xí)使用JavaScript實(shí)現(xiàn)密碼強(qiáng)度檢查。

【實(shí)例代碼】

<html> <head> <title>密碼強(qiáng)度提示-學(xué)無憂(wangbatian.cn)</title> <style type="text/css"> #chkResult{margin-left:53px;height:15px;} </style> </head> <body> <form name="form1"> <label for="pwd">用戶密碼</label> <input type="password" name="pwd" onblur="chkpwd(this)" /> <div id="chkResult"></div> <label for="pwd2">重復(fù)密碼</label> <input type="password" name="pwd2" /> </form> <script type="text/javascript"> //檢測密碼的方法 function chkpwd(obj) { var t=obj.value; var id=getResult(t); //定義對(duì)應(yīng)的消息提示 var msg=new Array(4); msg[0]="密碼太短。"; msg[1]="密碼強(qiáng)度比較差。"; msg[2]="密碼強(qiáng)度一般。"; msg[3]="密碼強(qiáng)度高。"; var sty=new Array(4); sty[0]=-45; sty[1]=-30; sty[2]=-15; sty[3]=0; //消息提示對(duì)應(yīng)的顏色 var col=new Array(4); col[0]="gray"; col[1]="red"; col[2]="#ff6600"; col[3]="Green";

//設(shè)置顯示效果 var sWidth=300; var sHeight=15; var Bobj=document.getElementById("chkResult"); Bobj.style.fontSize="12px"; Bobj.style.color=col[id]; Bobj.style.width=sWidth + "px"; Bobj.style.height=sHeight + "px"; Bobj.style.lineHeight=sHeight + "px"; Bobj.style.textIndent="20px"; Bobj.innerHTML="密碼檢測提示:" + msg[id]; }

//定義檢測函數(shù),返回0/1/2/3分別代表無效/差/一般/強(qiáng) function getResult(s){ if(s.length < 4){ return 0; } var ls = 0; if (s.match(/[a-z]/ig)){ ls++; } if (s.match(/[0-9]/ig)){ ls++; } if (s.match(/(.[^a-z0-9])/ig)){ ls++; } if (s.length < 6 && ls > 0){ ls--; } return ls } </script> </body> </html>

 

【運(yùn)行效果】

 密碼強(qiáng)度檢查運(yùn)行效果

【難點(diǎn)剖析】

本例的難點(diǎn)在于判斷用戶輸入的密碼是字母還是數(shù)字,這里使用了正則表達(dá)式?!皊.match(/[a-z]/ig)”用來檢測字母,“s.match(/[o一9]/ig)”用來檢測數(shù)字,“s.match(/(.[^a-z0-9】)/ig)”則檢查密碼是否既包含字母又包含數(shù)字。

【源碼下載】

為了JS代碼的準(zhǔn)確性,請(qǐng)點(diǎn)擊:通過JS對(duì)密碼強(qiáng)度進(jìn)行檢查 進(jìn)行本實(shí)例源碼下載 

標(biāo)簽: JS  密碼  檢查