複製程式碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<頭>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<標題>
密碼強度檢測
</標題>
<樣式類型=“文字/css”>
正文{字體:12px/1.5 Arial;}輸入{浮動:左;字體大小:12px;寬度:150px;字體系列:arial;邊框:1px
實心#ccc;填滿:3px;}輸入.正確{邊框:1px實心綠色;}輸入.錯誤{邊框:1px
純紅色;} #tips{float:left;margin:2px 0 0 20px;} #tips span{float:left;width:50px;height:20px;color:#fff;overflow:hidden;background:#ccc;margin -右:2px;行高:20px;文字對齊:居中;}
#tips.s1 .active{背景:#f30;} #tips.s2 .active{背景:#fc0;} #tips.s3
.active{背景:#cc0;} #tips.s4 .active{背景:#090;}
</風格>
<腳本類型=“文字/javascript”>
視窗.onload = 函數() {
var oTips = document.getElementById("提示");
var oInput = document.getElementsByTagName("輸入")[0];
var aSpan = oTips.getElementsByTagName("span");
var aStr = ["弱", "中", "強", "非常好"];
變數我 = 0;
oInput.onkeyup = oInput.onfocus = oInput.onblur = function() {
var index = checkStrong(this.value);
this.className = 索引 ? “正確”:“錯誤”;
oTips.className = "s" + 索引;
for (i = 0; i < aSpan.length; i++) aSpan[i].className = aSpan[i].innerHTML = "";
索引 && (aSpan[索引 - 1].className = "活動", aSpan[索引 - 1].innerHTML = aStr[索引 - 1])
}
};
/** 強度規則
+ ------------------------------------------------- ------ +
1) 任何缺少6個字元的組合,弱;任何字元數的同類字元組合,弱;
2) 任意字元數的兩類字元組合,中;
3) 12位元字元數以下的三類或四類字元組合,強;
4) 12位元字元數以上的三類或四類字元組合,非常好。
+ ------------------------------------------------- ------ +
**/
//偵測密碼強度
函數 checkStrong(sValue) {
變數模式 = 0;
if (sValue.length < 6) 返回模式;
if (//d/.test(sValue)) 模式++; //數位
if (/[az]/.test(sValue)) 模式++; //小寫
if (/[AZ]/.test(sValue)) 模式++; //大寫
if (//W/.test(sValue)) 模式++; //特殊字符
切換(模式){
案例1:
返回1;
休息;
案例2:
返回2;
案例3:
案例4:
回傳 sValue.length < 12 ? 3:4
休息;
}
}
</腳本>
</頭>
<正文>
<輸入類型=“密碼”值=“”最大長度=“16”/>
<div id="提示">
<跨度></跨度>
<跨度></跨度>
<跨度></跨度>
<跨度></跨度>
</div>
</正文>
</html>