JS實現(xiàn)至少包含字母、大小寫數(shù)字、字符的密碼等級的兩種方法
本文實例講述了JS實現(xiàn)至少包含字母、大小寫數(shù)字、字符的密碼等級的兩種方法。分享給大家供大家參考。具體如下:
前言
密碼,如果設(shè)置的太簡單,很容易就被攻破,所以很多網(wǎng)站將密碼設(shè)置的要求設(shè)置的挺嚴格,一般是字母、數(shù)字、字符3選2,區(qū)分大小寫。對于設(shè)置得太簡單的密碼,予以錯誤提示。或者予以密碼等級(低中高)顯示,讓用戶設(shè)置高級密碼。那如何利用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ù)結(jié)果:返回密碼中包含的規(guī)則數(shù)
運行例子:
passwordLevel("123456") //返回1 passwordLevel("Abc'123456") //返回4
結(jié)合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" //再次填寫密碼需一致 } } });
關(guān)于密碼生成與強度檢測感興趣的朋友還可參考在線工具:
希望本文所述對大家的javascript程序設(shè)計有所幫助。
相關(guān)文章
微信小程序?qū)崿F(xiàn)指定顯示行數(shù)多余文字去掉用省略號代替
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)指定顯示行數(shù)多余文字去掉用省略號代替的方法,需要的朋友可以參考下2018-07-07javascript實現(xiàn)tab響應(yīng)式切換特效
這篇文章主要為大家介紹了javascript實現(xiàn)tab響應(yīng)式切換特效,以一個完整的實例對tab響應(yīng)式切換特效進行詳細的分析,感興趣的小伙伴們可以參考一下2016-01-01JavaScript中數(shù)組的各種操作的總結(jié)(必看篇)
下面小編就為大家?guī)硪黄狫avaScript中數(shù)組的各種操作的總結(jié)(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02