本文實例講述了JS實現至少包含字母、大小寫數字、字符的密碼等級的兩種方法。分享給大家供大家參考。具體如下:
前言
密碼,如果設置的太簡單,很容易就被攻破,所以很多網站將密碼設置的要求設置的挺嚴格,一般是字母、數字、字符3選2,區分大小寫。對於設置得太簡單的密碼,予以錯誤提示。或者予以密碼等級(低中高)顯示,讓用戶設置高級密碼。那如何利用JS實現呢?
實現代碼如下:
function passwordLevel(password) { var Modes = 0; for (i = 0; i < password.length; i++) { Modes |= CharMode(password.charCodeAt(i)); } return bitTotal(Modes); //CharMode函數 function CharMode(iN) { if (iN >= 48 && iN <= 57)//數字 return 1; if (iN >= 65 && iN <= 90) //大寫字母 return 2; if ((iN >= 97 && iN <= 122) || (iN >= 65 && iN <= 90)) //大小寫 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; } }
使用
普通使用
使用語法:passwordLevel(string)
驗證規則:數字、大寫字母、小寫字母、特殊字符
函數結果:返回密碼中包含的規則數
運行例子:
passwordLevel("123456") //返回1 passwordLevel("Abc'123456") //返回4
結合jquery.validate.js使用:
//添加驗證方法:至少包含兩種規則 $.validator.addMethod("strongPsw",function(value,element){ if(passwordLevel(value)==1){returnfalse;} returntrue },"格式不符合"); //開始驗證 $(".form").validate({ rules:{ pwd:{ required:true, //必填 minlength:6, //最小長度 maxlength:32, //最大長度 strongPsw:true, //密碼強度 }, repwd:{ required:true, minlength:6, maxlength:32, equalTo:"#pwd" //再次填寫密碼需一致 } } });
關於密碼生成與強度檢測感興趣的朋友還可參考在線工具:
密碼安全性在線檢測
高強度密碼生成器
短鏈(短網址)在線生成工具
希望本文所述對大家的javascript程序設計有所幫助。