JS正则表达式验证密码强度
更新时间:2020年03月18日 13:54:05 作者:夏沐_lk
这篇文章主要为大家详细介绍了JS正则表达式验证密码强度,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了JS正则表达式验证密码强度的具体代码,供大家参考,具体内容如下
代码1:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <style type="text/css"> #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> <script src="common.js"></script> <script> /* * * 密码: 数字,字母,特殊符号 * * 密码: 只有数字- 或者是只有字母,或者是只有特殊符号---1级---弱 * 两两组合: 数字和字母, 数字和特殊符号, 字母和特殊符号 -----2级----中 * 三者都有: 数字和字母和特殊符号------3级-----强 * * */ //获取文本框注册键盘抬起事件 my$("pwd").onkeyup=function () { //每次键盘抬起都要获取文本框中的内容,验证文本框中有什么东西,得到一个级别,然后下面的div显示对应的颜色 //如果密码的长度是小于6的,没有必要判断 if(this.value.length>=6){ var lvl=getLvl(this.value); if(lvl==1){ //弱 my$("strengthLevel").className="strengthLv1"; }else if(lvl==2){ my$("strengthLevel").className="strengthLv2"; }else if(lvl==3){ my$("strengthLevel").className="strengthLv3"; }else{ my$("strengthLevel").className="strengthLv0"; } }else{ my$("strengthLevel").className="strengthLv0"; } }; //给我密码,我返回对应的级别 function getLvl(pwd) { var lvl=0;//默认是0级 //密码中是否有数字,或者是字母,或者是特殊符号 if(/[0-9]/.test(pwd)){ lvl++; } //判断密码中有没有字母 if(/[a-zA-Z]/.test(pwd)){ lvl++; } //判断密码中有没有特殊符号 if(/[^0-9a-zA-Z_]/.test(pwd)){ lvl++; } return lvl;//1 3 } </script> </body> </html>
优化代码2:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <style type="text/css"> #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> <script src="common.js"></script> <script> //获取文本框注册键盘抬起事件 my$("pwd").onkeyup=function () { //每次键盘抬起都要获取文本框中的内容,验证文本框中有什么东西,得到一个级别,然后下面的div显示对应的颜色 //如果密码的长度是小于6的,没有必要判断 // if(this.value.length>=6){ // var lvl= getLvl(this.value); // my$("strengthLevel").className="strengthLv"+lvl; // }else{ // my$("strengthLevel").className="strengthLv0"; // } my$("strengthLevel").className="strengthLv"+(this.value.length>=6?getLvl(this.value) :0); }; //给我密码,我返回对应的级别 function getLvl(pwd) { var lvl=0;//默认是0级 //密码中是否有数字,或者是字母,或者是特殊符号 if(/[0-9]/.test(pwd)){ lvl++; } //判断密码中有没有字母 if(/[a-zA-Z]/.test(pwd)){ lvl++; } //判断密码中有没有特殊符号 if(/[^0-9a-zA-Z_]/.test(pwd)){ lvl++; } return lvl;//最小的值是1,最大值是3 } </script> </body> </html>
common.js
/** * 获取指定标签对象 * @param id 标签的id属性值 * @returns {Element}根据id属性值返回指定标签对象 */ function my$(id) { return document.getElementById(id); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
chatGPT前端流式输出js实现三种方法—fetch、SSE、websocket
项目需要接入chatgpt提供的api,后端返回流式的字符,前端接收并实时显示,在JavaScript中,使用Stream流通常指的是处理数据流的一种方式,它们允许数据被处理成块,而不是一次性处理整个数据集,这对于处理大量数据或者来自网络请求的数据非常有用,2024-07-07基于BootStrap Metronic开发框架经验小结【九】实现Web页面内容的打印预览和保存操作
本篇文章主要介绍如何实现Web页面内容的打印预览和保存操作的相关知识,感兴趣的朋友一起学习吧2016-05-05Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
这篇文章主要介绍了Bootstrap编写一个兼容IE8、谷歌等主流浏览器的受众巨幕式风格页面,感兴趣的小伙伴们可以参考一下2016-07-07JS选中checkbox后获取table内一行TD所有数据的方法
这篇文章主要介绍了JS选中checkbox后获取table内一行TD所有数据的方法,涉及javascript针对table元素遍历与获取的技巧,需要的朋友可以参考下2015-07-07
最新评论