JS實現(xiàn)至少包含字母、大小寫數(shù)字、字符的密碼等級的兩種方法
本文實例講述了JS實現(xiàn)至少包含字母、大小寫數(shù)字、字符的密碼等級的兩種方法。分享給大家供大家參考。具體如下:
前言
密碼,如果設置的太簡單,很容易就被攻破,所以很多網(wǎng)站將密碼設置的要求設置的挺嚴格,一般是字母、數(shù)字、字符3選2,區(qū)分大小寫。對于設置得太簡單的密碼,予以錯誤提示?;蛘哂枰悦艽a等級(低中高)顯示,讓用戶設置高級密碼。那如何利用JS實現(xiàn)呢?
實現(xiàn)代碼如下:
function passwordLevel(password) {
var Modes = 0;
for (i = 0; i < password.length; i++) {
Modes |= CharMode(password.charCodeAt(i));
}
return bitTotal(Modes);
//CharMode函數(shù)
function CharMode(iN) {
if (iN >= 48 && iN <= 57)//數(shù)字
return 1;
if (iN >= 65 && iN <= 90) //大寫字母
return 2;
if ((iN >= 97 && iN <= 122) || (iN >= 65 && iN <= 90))
//大小寫
return 4;
else
return 8; //特殊字符
}
//bitTotal函數(shù)
function bitTotal(num) {
modes = 0;
for (i = 0; i < 4; i++) {
if (num & 1) modes++;
num >>>= 1;
}
return modes;
}
}
使用
普通使用
使用語法:passwordLevel(string)
驗證規(guī)則:數(shù)字、大寫字母、小寫字母、特殊字符
函數(shù)結果:返回密碼中包含的規(guī)則數(shù)
運行例子:
passwordLevel("123456") //返回1
passwordLevel("Abc'123456") //返回4
結合jquery.validate.js使用:
//添加驗證方法:至少包含兩種規(guī)則
$.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程序設計有所幫助。
相關文章
微信小程序實現(xiàn)指定顯示行數(shù)多余文字去掉用省略號代替
這篇文章主要介紹了微信小程序實現(xiàn)指定顯示行數(shù)多余文字去掉用省略號代替的方法,需要的朋友可以參考下2018-07-07
JavaScript中數(shù)組的各種操作的總結(必看篇)
下面小編就為大家?guī)硪黄狫avaScript中數(shù)組的各種操作的總結(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02

