平时我们会在某些网站的注册页面或者更改密码的页面发现当我们输入密码时,会有一个类似于进度条的长条进行提示用户输入的密码强度。如下图:
我看到有些人用几张不同的图片来替换,这样似乎可以,但是不太好。所以我通过其他方式实现。
实质上这是根据用户输入的不同密码强度来改变 颜色区域的长度。
密码强度这个横条实质是一个div,其他标记也可以,div里面有一个span标记,我就是通过改变span的长度和颜色来表现密码的强度的。原理很简单,但是在操作过程中,可能会遇到一些问题很头疼。
1.先在html页面里面定义一个输入框用于输入密码,一个一个div,在div里面放一个span标签并且设置相应的属性,type,name,value,class,id等
rush:js;">
密码:
2 密码强度:
rush:js;">
2.给标签设置相应的css,来控制标签的样式,使其感觉漂亮一点:
rush:js;">
3.写相应的JavaScript方法通过检测用户输入的密码强度来调用不同的样式来表现密码强度,密码强度的规则可以自己随意定义,只需在密码输入框的onblur(失去焦点)事件和onkeyup(按下键盘上来之后)事件调用下面的方法即可:
= 6) //用于判断用户输入的密码强度
{ // 至少六个字符
for (var i = 0; i < regxs.length; i++) //遍历所有正则表达式,检测用户输入的密码符合哪些正则表达式,如果符合则强度+1
{
if (val.match(regxs[i]))
{
sec++;
}
}
}
if(sec==0) //通过不同的密码强度调用不同的样式
{
h3thTip.innerText="";
//setAttribute("class","className")中class是指改变class这个属性,所以要带引号,className是span标签的类名,也是对应的样式名
pwdprogress.setAttribute("class","cinnerprogress");
}
else if(sec==1)
{
h3thTip.innerText="强度:弱";
h3thTip.style.color="red";
pwdprogress.setAttribute("class","strengthLv1");
}
else if(sec==2)
{
h3thTip.innerText="强度:中";
h3thTip.style.color="orange";
pwdprogress.setAttribute("class","strengthLv2");
}
else if(sec==3)
{
h3thTip.innerText="强度:强";
h3thTip.style.color="#09F";
pwdprogress.setAttribute("class","strengthLv3");
}
else if(sec==4)
{
h3thTip.innerText="强度:超强";
h3thTip.style.color="green";
pwdprogress.setAttribute("class","strengthLv4");
}
}
以上所述是小编给大家介绍的JavaScript动态检验密码强度的实现方法,实现一个模拟后台数据登入的效果。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。