樣式代碼
<style>
#dv{
width: 300px;
height:200px;
position: absolute;
left:300px;
top:100px;
}
.strengthLv0 {
height: 6px;
width: 120px;
border: 1px solid #ccc;
padding: 2px;
}
.strengthLv1 {
background: red;
height: 6px;
width: 40px;
border: 1px solid #ccc;
padding: 2px;
}
.strengthLv2 {
background: orange;
height: 6px;
width: 80px;
border: 1px solid #ccc;
padding: 2px;
}
.strengthLv3 {
background: green;
height: 6px;
width: 120px;
border: 1px solid #ccc;
padding: 2px;
}
</style>
body
<div id="dv">
<label for="pwd">密碼</label>
<input type="text" id="pwd" maxlength="16"><!--課外話題-->
<div>
<em>密碼強度:</em>
<em id="strength"></em>
<div id="strengthLevel" class="strengthLv0"></div>
</div>
</div>
JavaScript
<script>
//擷取文本框注冊鍵盤擡起事件
document.getElementById("pwd").onkeyup=function (ev) {
//每次鍵盤擡起都要擷取文本框中的内容,驗證文本框中有什麼東西,得到一個級别,然後下面的div顯示對應的顔色
//如果密碼的長度是小于6的,沒有必要判斷
// if(this.value.length>=6){
// var lvl= getLvl(this.value);
// my$("strengthLevel").className="strengthLv"+lvl;
// }else{
// my$("strengthLevel").className="strengthLv0";
// }
document.getElementById("strengthLevel").className="strengthLv"+(this.value.length>=6?getLvl(this.value) :0);
};
//給我密碼,我傳回對應的級别
function getLvl(a) {
var lvl=0;//預設是零級
if (/[0-9]/.test(a)){
lvl++;
}if(/[a-zA-Z]/.test(a)){
lvl++;
}if (/[^a-zA-Z0-9_]/.test(a)){
lvl++;
}
return lvl;//最小是1 最大是3
}
</script>