JS 密码强度校验的正则表达式(简单且好用)
程序员文章站
2022-03-03 11:44:06
最近一直在做通行证项目,里面的注册模块中输入密码需要显示密码强度(低中高)。今天就把做的效果给大家分享下,代码没有网上搜索的那么复杂,能够满足一般的需求。
html 代码...
最近一直在做通行证项目,里面的注册模块中输入密码需要显示密码强度(低中高)。今天就把做的效果给大家分享下,代码没有网上搜索的那么复杂,能够满足一般的需求。
html 代码如下:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"/> <title>密码强度</title> <style type="text/css"> #passstrength{height:6px;width:120px;border:1px solid #ccc;padding:2px;} .strengthlv1{background:red;height:6px;width:40px;} .strengthlv2{background:orange;height:6px;width:80px;} .strengthlv3{background:green;height:6px;width:120px;} </style> </head> <body> <input type="password" name="pass" id="pass" maxlength="16"/> <div class="pass-wrap"> <em>密码强度:</em> <div id="passstrength"></div> </div> </body> </html> <script type="text/javascript" src="js/passwordstrength.js"></script> <script type="text/javascript"> new passwordstrength('pass','passstrength'); </script>
js 代码如下:
function passwordstrength(passwordid,strengthid){ this.init(strengthid); var _this = this; document.getelementbyid(passwordid).onkeyup = function(){ _this.checkstrength(this.value); } }; passwordstrength.prototype.init = function(strengthid){ var id = document.getelementbyid(strengthid); var div = document.createelement('div'); var strong = document.createelement('strong'); this.ostrength = id.appendchild(div); this.ostrengthtxt = id.parentnode.appendchild(strong); }; passwordstrength.prototype.checkstrength = function (val){ var alvtxt = ['','低','中','高']; var lv = 0; if(val.match(/[a-z]/g)){lv++;} if(val.match(/[0-9]/g)){lv++;} if(val.match(/(.[^a-z0-9])/g)){lv++;} if(val.length < 6){lv=0;} if(lv > 3){lv=3;} this.ostrength.classname = 'strengthlv' + lv; this.ostrengthtxt.innerhtml = alvtxt[lv]; };
效果图:
使用说明:
1、对象的第一个参数是密码输入框的 id,第二个参数是密码强度长条的 id。
2、checkstrength 方法中可以自定义密码强度的规则。
3、密码强度显示低中高分别对应 3 个 css 样式(strengthlv1、strengthlv2、strengthlv3)。
以上所述是小编给大家介绍的js 密码强度校验的正则表达式,希望对大家有所帮助
上一篇: 教你编译pjsip源码的方法
下一篇: 正则表达式之分组的回溯引用问题