JS實(shí)現(xiàn)的四級(jí)密碼強(qiáng)度檢測(cè)功能示例
本文實(shí)例講述了JS實(shí)現(xiàn)的四級(jí)密碼強(qiáng)度檢測(cè)功能。分享給大家供大家參考,具體如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> 密碼強(qiáng)度檢測(cè) </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
input{float: left; font-size: 14px; width: 250px; height: 25px; border: 1px solid #ccc; padding-left: 10px;}
#tips{float: left; font-size: 12px; width: 400px; height: 25px; margin: 4px 0 0 20px;}
#tips span{float: left; width: 40px; height: 20px; color: #fff; overflow:hidden; margin-right: 10px; background: #D7D9DD; line-height:20px; text-align: center; }
#tips .s1{background: #F45A68;}/*紅色*/
#tips .s2{background: #fc0;}/*橙色*/
#tips .s3{background: #cc0;}/*黃色*/
#tips .s4{background: #14B12F;}/*綠色*/
</style>
</head>
<body>
<input type="text" id="password" value="" maxlength="16" />
<div id="tips">
<span>弱</span>
<span>中</span>
<span>強(qiáng)</span>
<span>很強(qiáng)</span>
</div>
</body>
<script type="text/javascript">
var password = document.getElementById("password"); //獲取文本框的對(duì)象
//var value = password.value; //獲取用戶在文本框里面填寫的值
//獲取所有的span標(biāo)簽 返回值是一個(gè)數(shù)組
var spanDoms = document.getElementsByTagName("span");
password.onkeyup = function(){
//獲取用戶輸入的密碼,然后判斷其強(qiáng)度 返回0 或者 1 2 3 4
var index = checkPassWord(this.value);
for(var i = 0; i <spanDoms.length; i++){
spanDoms[i].className = "";//清空span標(biāo)簽所有的class樣式
if(index){//0 代表false 其余代表true
spanDoms[index-1].className = "s" + index ;
}
}
}
//校驗(yàn)密碼強(qiáng)度
function checkPassWord(value){
// 0: 表示第一個(gè)級(jí)別 1:表示第二個(gè)級(jí)別 2:表示第三個(gè)級(jí)別
// 3: 表示第四個(gè)級(jí)別 4:表示第五個(gè)級(jí)別
var modes = 0;
if(value.length < 6){//最初級(jí)別
return modes;
}
if(/\d/.test(value)){//如果用戶輸入的密碼 包含了數(shù)字
modes++;
}
if(/[a-z]/.test(value)){//如果用戶輸入的密碼 包含了小寫的a到z
modes++;
}
if(/[A-Z]/.test(value)){//如果用戶輸入的密碼 包含了大寫的A到Z
modes++;
}
if(/\W/.test(value)){//如果是非數(shù)字 字母 下劃線
modes++;
}
switch(modes){
case 1 :
return 1;
break;
case 2 :
return 2;
break;
case 3 :
return 3;
break;
case 4 :
return 4;
break;
}
}
</script>
</html>
說(shuō)明: 這里實(shí)現(xiàn)的功能主要是,輸入密碼的時(shí)候,一邊輸一邊檢測(cè),有四個(gè)安全級(jí)別,當(dāng)輸入的密碼符合某個(gè)級(jí)別的規(guī)則時(shí),該級(jí)別的標(biāo)志條就會(huì)高亮變色。
下面是測(cè)試的情況,(這里為了能看到效果,所以把type=“password”故意改成type=“text”),至于檢測(cè)中級(jí)別的規(guī)則,讀者可以自己根據(jù)需要自行修改,主要是js正則表達(dá)式的修改。另外,當(dāng)把最后一個(gè)圖片的輸入內(nèi)容,逐步地刪除,直到只剩第一個(gè)圖片的輸入內(nèi)容,這一過(guò)程中,效果就是下面的 從下到上變化了




PS:這里再為大家提供幾款相關(guān)在線工具供大家參考使用:
密碼安全性在線檢測(cè):
http://tools.jb51.net/password/my_password_safe
在線隨機(jī)數(shù)字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
高強(qiáng)度密碼生成器:
http://tools.jb51.net/password/CreateStrongPassword
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- javascript密碼強(qiáng)度校驗(yàn)代碼(兩種方法)
- JS 密碼強(qiáng)度驗(yàn)證(兼容IE,火狐,谷歌)
- js檢驗(yàn)密碼強(qiáng)度(低中高)附圖
- js檢測(cè)用戶輸入密碼強(qiáng)度
- js正則表達(dá)式驗(yàn)證密碼強(qiáng)度【推薦】
- 用于判斷用戶注冊(cè)時(shí),密碼強(qiáng)度的JS代碼
- js在客戶端驗(yàn)證密碼強(qiáng)度,兼容FireFox和IE
- JavaScript 密碼強(qiáng)度判斷代碼
- js密碼強(qiáng)度校驗(yàn)
- javascript 密碼強(qiáng)度驗(yàn)證規(guī)則、打分、驗(yàn)證(給出前端代碼,后端代碼可根據(jù)強(qiáng)度規(guī)則翻譯)
- js實(shí)現(xiàn)密碼強(qiáng)度檢測(cè)【附示例】
- JavaScript動(dòng)態(tài)檢測(cè)密碼強(qiáng)度原理及實(shí)現(xiàn)方法詳解
相關(guān)文章
js中的數(shù)組轉(zhuǎn)樹(shù)型結(jié)構(gòu)方式
這篇文章主要介紹了js中的數(shù)組轉(zhuǎn)樹(shù)型結(jié)構(gòu)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
JavaScript中獲取當(dāng)前時(shí)間yyyymmddhhmmss的六種實(shí)現(xiàn)方式
js中提供了一個(gè)Date對(duì)象供我們獲取當(dāng)前時(shí)間,下面這篇文章主要給大家介紹了關(guān)于JavaScript中獲取當(dāng)前時(shí)間yyyymmddhhmmss的六種實(shí)現(xiàn)方式,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
JavaScript prototype對(duì)象的屬性說(shuō)明
JavaScript中對(duì)象的prototype屬性,是用來(lái)返回對(duì)象類型原型的引用的。我們使用prototype屬性提供對(duì)象的類的一組基本功能。并且對(duì)象的新實(shí)例會(huì)”繼承”賦予該對(duì)象原型的操作。但是這個(gè)prototype到底是怎么實(shí)現(xiàn)和被管理的呢?2010-03-03
詳解webpack-dev-server 設(shè)置反向代理解決跨域問(wèn)題
后端只負(fù)責(zé)接口,前端負(fù)責(zé)數(shù)據(jù)展示、邏輯處理。那么如何跨域?這篇文章主要介紹了webpack-dev-server 設(shè)置反向代理解決跨域問(wèn)題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
JS實(shí)現(xiàn)模擬風(fēng)力的雪花飄落效果
這篇文章主要介紹了JS實(shí)現(xiàn)模擬風(fēng)力的雪花飄落效果,可在右側(cè)填入風(fēng)力值點(diǎn)擊按鈕即可看到伴隨風(fēng)力的雪花飄落效果,同時(shí)右側(cè)有實(shí)時(shí)雪花數(shù)量統(tǒng)計(jì)功能,需要的朋友可以參考下2015-05-05
elementui更改el-dialog關(guān)閉按鈕的圖標(biāo)d的示例代碼
這篇文章主要介紹了elementui更改el-dialog關(guān)閉按鈕的圖標(biāo),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
JavaScript數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組的表示方法示例
這篇文章主要介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組的表示方法,從數(shù)據(jù)結(jié)構(gòu)線性表的角度分析了數(shù)組的原理并結(jié)合實(shí)例形式分析了javascript數(shù)組的定義與使用方法,需要的朋友可以參考下2017-04-04

