JS實(shí)現(xiàn)至少包含字母、大小寫數(shù)字、字符的密碼等級(jí)的兩種方法
本文實(shí)例講述了JS實(shí)現(xiàn)至少包含字母、大小寫數(shù)字、字符的密碼等級(jí)的兩種方法。分享給大家供大家參考。具體如下:
前言
密碼,如果設(shè)置的太簡(jiǎn)單,很容易就被攻破,所以很多網(wǎng)站將密碼設(shè)置的要求設(shè)置的挺嚴(yán)格,一般是字母、數(shù)字、字符3選2,區(qū)分大小寫。對(duì)于設(shè)置得太簡(jiǎn)單的密碼,予以錯(cuò)誤提示?;蛘哂枰悦艽a等級(jí)(低中高)顯示,讓用戶設(shè)置高級(jí)密碼。那如何利用JS實(shí)現(xiàn)呢?
實(shí)現(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)
驗(yàn)證規(guī)則:數(shù)字、大寫字母、小寫字母、特殊字符
函數(shù)結(jié)果:返回密碼中包含的規(guī)則數(shù)
運(yùn)行例子:
passwordLevel("123456") //返回1 passwordLevel("Abc'123456") //返回4
結(jié)合jquery.validate.js使用:
//添加驗(yàn)證方法:至少包含兩種規(guī)則 $.validator.addMethod("strongPsw",function(value,element){ if(passwordLevel(value)==1){returnfalse;} returntrue },"格式不符合"); //開始驗(yàn)證 $(".form").validate({ rules:{ pwd:{ required:true, //必填 minlength:6, //最小長(zhǎng)度 maxlength:32, //最大長(zhǎng)度 strongPsw:true, //密碼強(qiáng)度 }, repwd:{ required:true, minlength:6, maxlength:32, equalTo:"#pwd" //再次填寫密碼需一致 } } });
關(guān)于密碼生成與強(qiáng)度檢測(cè)感興趣的朋友還可參考在線工具:
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
相關(guān)文章
微信小程序?qū)崿F(xiàn)指定顯示行數(shù)多余文字去掉用省略號(hào)代替
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)指定顯示行數(shù)多余文字去掉用省略號(hào)代替的方法,需要的朋友可以參考下2018-07-07關(guān)于ES6中的箭頭函數(shù)超詳細(xì)梳理
箭頭函數(shù)可以說是es6的一大亮點(diǎn),使用箭頭函數(shù),可以簡(jiǎn)化編碼過程,是代碼更加的簡(jiǎn)潔,下面這篇文章主要給大家介紹了關(guān)于ES6中箭頭函數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08用js實(shí)現(xiàn)放大鏡的效果的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)硪黄胘s實(shí)現(xiàn)放大鏡的效果的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05javascript實(shí)現(xiàn)tab響應(yīng)式切換特效
這篇文章主要為大家介紹了javascript實(shí)現(xiàn)tab響應(yīng)式切換特效,以一個(gè)完整的實(shí)例對(duì)tab響應(yīng)式切換特效進(jìn)行詳細(xì)的分析,感興趣的小伙伴們可以參考一下2016-01-01JavaScript中數(shù)組的各種操作的總結(jié)(必看篇)
下面小編就為大家?guī)硪黄狫avaScript中數(shù)組的各種操作的總結(jié)(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02js控制輸入框獲得和失去焦點(diǎn)時(shí)狀態(tài)顯示的方法
這篇文章主要介紹了js控制輸入框獲得和失去焦點(diǎn)時(shí)狀態(tài)顯示的方法,可實(shí)現(xiàn)判斷輸入框的焦點(diǎn)狀態(tài)設(shè)置不同樣式的功能,是非常實(shí)用的技巧,需要的朋友可以參考下2015-01-01