平时我们会在某些网站的注册页面或者更改密码的页面发现当我们输入密码时,会有一个类似于进度条的长条进行提示用户输入的密码强度。如下图:
我看到有些人用几张不同的图片来替换,这样似乎可以,但是不太好。所以我通过其他方式实现。
实质上这是根据用户输入的不同密码强度来改变 颜色区域的长度。
密码强度这个横条实质是一个div,其他标记也可以,div里面有一个span标记,我就是通过改变span的长度和颜色来表现密码的强度的。原理很简单,但是在操作过程中,可能会遇到一些问题很头疼。
1.先在html页面里面定义一个输入框用于输入密码,一个一个div,在div里面放一个span标签并且设置相应的属性,type,name,value,class,id等
*密码:不少于6位字符
2 密码强度:
2.给标签设置相应的css,来控制标签的样式,使其感觉漂亮一点:
.pwdStrongth{ border:solid 1px #000000; border-radius:5px; height:15px; width:150px;} .cinnerprogress{ display: block; height: 100%; background-color:transparent; border-radius: 5px; width: 100%; } .strengthLv1{ display: block; height: 100%; border-radius: 5px; background:red;width:25%;} .strengthLv2{ display: block; height: 100%; border-radius: 5px; background:orange;width:50%;} .strengthLv3{ display: block; height: 100%; border-radius: 5px; background:#09F;width:75%;} .strengthLv4{ display: block; height: 100%; border-radius: 5px; background:green;width:100%;} 3.写相应的Javascript方法通过检测用户输入的密码强度来调用不同的样式来表现密码强度,密码强度的规则可以自己随意定义,只需在密码输入框的onblur(失去焦点)事件和onkeyup(按下键盘上来之后)事件调用下面的方法即可:
function pwdComplex()//用于判断密码强度的 { var pwdobj=document.getElementById("password"); //获取密码输入框对象 var pwdTip=document.getElementById("pwdTip");//获取密码提示文字对象 var pwdprogress=document.getElementById("innerprogress"); //获取span标签对象 var strongthTip=document.getElementById("strongthTip");//获取密码强度提示文字的对象 var regxs = new Array();//定义一个数组用于存放不同的正则表达式 regxs[0]=/[^a-zA-Z0-9_]/g; regxs[1]=/[a-z]/g; regxs[2]=/[0-9]/g; regxs[3]=/[A-Z]/g; var val = pwdobj.value;//获取用户输入的密码 var len = val.length;//获取用户输入的密码长度 var sec = 0; //定义一个变量用于存放密码强度 if (len >= 6) //用于判断用户输入的密码强度 { // 至少六个字符 for (var i = 0; i < regxs.length; i++) //遍历所有正则表达式,检测用户输入的密码符合哪些正则表达式,如果符合则强度+1 { if (val.match(regxs[i])) { sec++; } } } if(sec==0) //通过不同的密码强度调用不同的样式 { strongthTip.innerText=""; //setAttribute("class", "className")中class是指改变class这个属性,所以要带引号,className是span标签的类名,也是对应的样式名 pwdprogress.setAttribute("class","cinnerprogress"); } else if(sec==1) { strongthTip.innerText="强度:弱"; strongthTip.style.color="red"; pwdprogress.setAttribute("class","strengthLv1"); } else if(sec==2) { strongthTip.innerText="强度:中"; strongthTip.style.color="orange"; pwdprogress.setAttribute("class","strengthLv2"); } else if(sec==3) { strongthTip.innerText="强度:强"; strongthTip.style.color="#09F"; pwdprogress.setAttribute("class","strengthLv3"); } else if(sec==4) { strongthTip.innerText="强度:超强"; strongthTip.style.color="green"; pwdprogress.setAttribute("class","strengthLv4"); } }以上所述是小编给大家介绍的Javascript动态检验密码强度的实现方法,实现一个模拟后台数据登入的效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对考高分网网站的支持!
JavaScript相关栏目本月热门文章
- 1【Linux驱动开发】设备树详解(二)设备树语法详解
- 2别跟客户扯细节
- 3Springboot+RabbitMQ+ACK机制(生产方确认(全局、局部)、消费方确认)、知识盲区
- 4【Java】对象处理流(ObjectOutputStream和ObjectInputStream)
- 5【分页】常见两种SpringBoot项目中分页技巧
- 6一文带你搞懂OAuth2.0
- 7我要写整个中文互联网界最牛逼的JVM系列教程 | 「JVM与Java体系架构」章节:虚拟机与Java虚拟机介绍
- 8【Spring Cloud】新闻头条微服务项目:FreeMarker模板引擎实现文章静态页面生成
- 9JavaSE - 封装、static成员和内部类
- 10树莓派mjpg-streamer实现监控及拍照功能调试
- 11用c++写一个蓝屏代码
- 12从JDK8源码中看ArrayList和LinkedList的区别
- 13idea 1、报错java: 找不到符号 符号: 变量 log 2、转换成Maven项目
- 14在openwrt使用C语言增加ubus接口(包含C uci操作)
- 15Spring 解决循环依赖
- 16SpringMVC——基于MVC架构的Spring框架
- 17Andy‘s First Dictionary C++ STL set应用
- 18动态内存管理
- 19我的创作纪念日
- 20Docker自定义镜像-Dockerfile
热门相关搜索路由器设置 木托盘 宝塔面板 儿童python教程 心情低落 朋友圈 vim 双一流学科 专升本 我的学校 日记学校 西点培训学校 汽修学校 情书 化妆学校 塔沟武校 异形模板 西南大学排名 最精辟人生短句 6步教你追回被骗的钱 南昌大学排名 清朝十二帝 北京印刷学院排名 北方工业大学排名 北京航空航天大学排名 首都经济贸易大学排名 中国传媒大学排名 首都师范大学排名 中国地质大学(北京)排名 北京信息科技大学排名 中央民族大学排名 北京舞蹈学院排名 北京电影学院排名 中国戏曲学院排名 河北政法职业学院排名 河北经贸大学排名 天津中德应用技术大学排名 天津医学高等专科学校排名 天津美术学院排名 天津音乐学院排名 天津工业大学排名 北京工业大学耿丹学院排名 北京警察学院排名 天津科技大学排名 北京邮电大学(宏福校区)排名 北京网络职业学院排名 北京大学医学部排名 河北科技大学排名 河北地质大学排名 河北体育学院排名



