您好,登錄后才能下訂單哦!
驗證“密碼強度”的例子很常見,我們注冊新的賬號的時候往往設置密碼,此時就遇到驗證密碼強度的問題了?!懊艽a強度”也就是密碼難易程度的意思。
原理:
1、如果輸入的密碼為單純的數(shù)字或者字母:提示“低”
2、如果是數(shù)字和字母混合的:提示“中”
3、如果數(shù)字、字母、特殊字符都有:提示“強”
下面是一種“密碼強度”的驗證方法,覺得很有意思。
HTML和CSS代碼:
<!DOCTYPE HTML> <html > <!-- lang="en" --> <head> <meta charset="utf-8" /> <title>密碼強度</title> <style type="text/css"> #pwdStrength { height: 30px; width: 180px; border: 1px solid #ccc; padding: 2px; } .strengthLv1 { background: red; height: 30px; width: 60px; } .strengthLv2 { background: orange; height: 30px; width: 120px; } .strengthLv3 { background: green; height: 30px; width: 180px; } #pwd { height:30px; font-size :20px; } strong { margin-left:90px; } #pwd1 { color:red; margin-top:5px; margin-bottom:5px; } </style> </head> <body> <input type="password" name="pwd" id="pwd" maxlength="16" /> <div class="pass-wrap"> <!--<em>密碼強度:</em>--> <p id="pwd1" name="pwd">密碼強度:</p> <div id="pwdStrength"></div> </div> </body> </html>
javascript代碼:
<script type="text/javascript"> function PasswordStrength(passwordID, strengthID) { this.init(strengthID); var _this = this; document.getElementById(passwordID).onkeyup = function () {//onkeyup 事件,在鍵盤按鍵被松開時發(fā)生,進行判斷 _this.checkStrength(this.value); } }; PasswordStrength.prototype.init = function (strengthID) { var id = document.getElementById(strengthID); var div = document.createElement('div'); var strong = document.createElement('strong'); this.oStrength = id.appendChild(div); this.oStrengthTxt = id.parentNode.appendChild(strong); }; PasswordStrength.prototype.checkStrength = function (val) { //驗證密碼強度的函數(shù) var aLvTxt = ['', '低', '中', '高'];//定義提示消息的種類 var lv = 0; //初始化提示消息為空 if (val.match(/[a-z]/g)) { lv++; } //驗證是否包含字母 if (val.match(/[0-9]/g)) { lv++; } // 驗證是否包含數(shù)字 if (val.match(/(.[^a-z0-9])/g)) { lv++; } //驗證是否包含字母,數(shù)字,字符 if (val.length < 6) { lv = 0; } //如果密碼長度小于6位,提示消息為空 if (lv > 3) { lv = 3; } this.oStrength.className = 'strengthLv' + lv; this.oStrengthTxt.innerHTML = aLvTxt[lv]; }; new PasswordStrength('pwd','pwdStrength'); </script>
效果圖:
小結:
1.利用onkeyup 事件(在鍵盤按鍵被松開時發(fā)生)進行三種判斷,簡單方便。
2. 正則表達式的功能真的很強大。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。