本文實例講述了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程序設計有所幫助。