<script type="text/javascript">
window.onload = function () {
//这里为文本框注册一个键盘键按下后弹起的事件
document.getElementById('txtPassword').onkeyup = function () {
var tds = document.getElementById('tb1').getElementsByTagName('td');
//初始化颜色
for (var i = 0; i <tds.length; i++) {
tds[i].style.backgroundColor = '';
}
//1:获取用户输入的内容
var val = this.value;
if (val.length > 0) {
//2:根据用户输入的密码,来效验密码的强度。
var pwdLvl = getPasswordLever(val);
//3:改变下面显示的强度。
switch (pwdLvl) {
case 0:
case 1:
case 2:
//弱
tds[0].style.backgroundColor = 'red';
break;
case 3:
case 4:
//中
tds[0].style.backgroundColor = 'orange';
tds[1].style.backgroundColor = 'orange';
break;
case 5:
//强
tds[0].style.backgroundColor = 'green';
tds[1].style.backgroundColor = 'green';
tds[2].style.backgroundColor = 'green';
break;
default:
}
}
};
};
//这里是申明了一个匿名函数,通过这个匿名函数来判断密码的强度。
function getPasswordLever(user_pwd) {
//下面是通过正则表达式的match()方法来判断输入的密码中是否有满足的指定条件。
var lvl = 0;
//1:含有数字,强度+1
if (user_pwd.match(/\d+/)) {
lvl++;
}
//2:含有小写字母,强度+1
if (user_pwd.match(/[a-z]+/)) {
lvl++;
}
//3:含有大写字母,强度+1
if (user_pwd.match(/[A-Z]+/)) {
lvl++;
}
//4:含有特殊符号,强度+1
if (user_pwd.match(/[^0-9a-zA-Z]+/)) {
lvl++;
}
//5:密码的长度超过6位,强度+1
if (user_pwd.length > 6) {
lvl++;
}
return lvl;
}
</script>