JavaScript密码强度提示

 
 
输入密码的时候,根据密码的复杂程度给出弱、中和强等类似的提示。
下面分享使用JavaScript如何实现此效果。代码实例如下:
<!DOCTYPE html>
< html >
< head >
< meta  charset = " utf-8" >
< meta  name = "author"  content = "http://www.softwhy.com/"  />
< head >
< title >蚂蚁部落</ title >
< style  type = "text/css" >
#pwdLever td{
   background-color:Gray;
   width:45px;
   text-align:center;
}
</ style >
< script  type = "text/javascript" >
window.onload=function(){
   var textInput = document.getElementById("txtPwd");
   //给密码输入框 注册键放开事件
   textInput.onkeyup=function(){
     var pwdValue=this.value;
     var num=pwdChange(pwdValue);
     var tds=document.getElementById("pwdLever").getElementsByTagName("td");
     //修改密码颜色
     if(num==0||num==1){
       tds[0].style.backgroundColor="red";
       tds[1].style.backgroundColor="gray";
       tds[2].style.backgroundColor="gray";
     }
     else if(num == 2){
       tds[0].style.backgroundColor = "red";
       tds[1].style.backgroundColor = "red";
       tds[2].style.backgroundColor = "gray";
     }
     else if(num == 3) {
       tds[0].style.backgroundColor = "red";
       tds[1].style.backgroundColor = "red";
       tds[2].style.backgroundColor = "red";
     }
     else{
       tds[0].style.backgroundColor = "gray";
       tds[1].style.backgroundColor = "gray";
       tds[2].style.backgroundColor = "gray";
     }
   }
}
function pwdChange(v){
   var num = 0;
   var reg = /\d/; //如果有数字
   if (reg.test(v)) {
     num++;
   }
   reg = /[a-zA-Z]/; //如果有字母
   if(reg.test(v)){
     num++;
   }
   reg = /[^0-9a-zA-Z]/; //如果有特殊字符
   if(reg.test(v)) {
     num++;
   }
   //如果密码小于6 
   if(v.length < 6){ 
     num--;
   }
   return num;
}
</ script >
</ head >
< body >
< table >
   < tr >
     < td >< input  type = "text"  id = "txtPwd"  /></ td >
   </ tr >
   < tr >
     < td >
      < table  id = "pwdLever" >
         < tr >
           < td >弱</ td >
           < td >中</ td >
           < td >强</ td >
         </ tr >
       </ table >
      </ td >
   </ tr >
</ table >
</ body >
</ html >

在输入密码的时候,显示当前密码的强度。下面介绍一下实现过程:

一.实现原理:

原理比较简单,当在密码框输入密码之后触发onkeyup事件进而执行事件处理函数,此函数可以判断当前密码框中的密码的强度,并返回一个值,然后根据此此设置三个单元格的背景颜色,也就实现了密码强度提示效果。

二.代码注释:

(1).window.οnlοad=function(){},当文档完全加载完毕再去执行函数中的代码。

(2).var textInput=document.getElementById("txtPwd"),获取id值为txtPwd的对象。

(3).textInput.οnkeyup=function(){},为密码框绑定键盘按键onkeyup事件处理函数。

(4).var pwdValue=this.value,获取密码框的值。

(5). var num=pwdChange(pwdValue),创建一个变量num并接收pwdChange()函数的返回值。

(6).var tds=document.getElementById("pwdLever").getElementsByTagName("td"),获取id为pwdLever元素的下的所有单元格集合。

(7).if(num==0||num==1){},根据num的值设置单元格的背景颜色。

(8).function pwdChange(v){},创建一个函数用来判断密码强度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值