JS實現(xiàn)的四級密碼強度檢測功能示例
本文實例講述了JS實現(xiàn)的四級密碼強度檢測功能。分享給大家供大家參考,具體如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> 密碼強度檢測 </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>強</span>
<span>很強</span>
</div>
</body>
<script type="text/javascript">
var password = document.getElementById("password"); //獲取文本框的對象
//var value = password.value; //獲取用戶在文本框里面填寫的值
//獲取所有的span標簽 返回值是一個數(shù)組
var spanDoms = document.getElementsByTagName("span");
password.onkeyup = function(){
//獲取用戶輸入的密碼,然后判斷其強度 返回0 或者 1 2 3 4
var index = checkPassWord(this.value);
for(var i = 0; i <spanDoms.length; i++){
spanDoms[i].className = "";//清空span標簽所有的class樣式
if(index){//0 代表false 其余代表true
spanDoms[index-1].className = "s" + index ;
}
}
}
//校驗密碼強度
function checkPassWord(value){
// 0: 表示第一個級別 1:表示第二個級別 2:表示第三個級別
// 3: 表示第四個級別 4:表示第五個級別
var modes = 0;
if(value.length < 6){//最初級別
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>
說明: 這里實現(xiàn)的功能主要是,輸入密碼的時候,一邊輸一邊檢測,有四個安全級別,當輸入的密碼符合某個級別的規(guī)則時,該級別的標志條就會高亮變色。
下面是測試的情況,(這里為了能看到效果,所以把type=“password”故意改成type=“text”),至于檢測中級別的規(guī)則,讀者可以自己根據(jù)需要自行修改,主要是js正則表達式的修改。另外,當把最后一個圖片的輸入內(nèi)容,逐步地刪除,直到只剩第一個圖片的輸入內(nèi)容,這一過程中,效果就是下面的 從下到上變化了




PS:這里再為大家提供幾款相關在線工具供大家參考使用:
密碼安全性在線檢測:
http://tools.jb51.net/password/my_password_safe
在線隨機數(shù)字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
高強度密碼生成器:
http://tools.jb51.net/password/CreateStrongPassword
更多關于JavaScript相關內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學運算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設計有所幫助。
相關文章
js中的數(shù)組轉(zhuǎn)樹型結(jié)構(gòu)方式
這篇文章主要介紹了js中的數(shù)組轉(zhuǎn)樹型結(jié)構(gòu)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
JavaScript中獲取當前時間yyyymmddhhmmss的六種實現(xiàn)方式
js中提供了一個Date對象供我們獲取當前時間,下面這篇文章主要給大家介紹了關于JavaScript中獲取當前時間yyyymmddhhmmss的六種實現(xiàn)方式,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-12-12
詳解webpack-dev-server 設置反向代理解決跨域問題
后端只負責接口,前端負責數(shù)據(jù)展示、邏輯處理。那么如何跨域?這篇文章主要介紹了webpack-dev-server 設置反向代理解決跨域問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04
elementui更改el-dialog關閉按鈕的圖標d的示例代碼
這篇文章主要介紹了elementui更改el-dialog關閉按鈕的圖標,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08
JavaScript數(shù)據(jù)結(jié)構(gòu)之數(shù)組的表示方法示例
這篇文章主要介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)之數(shù)組的表示方法,從數(shù)據(jù)結(jié)構(gòu)線性表的角度分析了數(shù)組的原理并結(jié)合實例形式分析了javascript數(shù)組的定義與使用方法,需要的朋友可以參考下2017-04-04

