js实现密码强度检验


Posted in Javascript onJanuary 15, 2017

最近一直在做通行证项目,里面的注册模块中输入密码需要显示密码强度(低中高)。今天就把做的效果给大家分享下,代码没有网上搜索的那么复杂,能够满足一般的需求。

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];
};

效果图:

js实现密码强度检验

使用说明:

1、对象的第一个参数是密码输入框的 id,第二个参数是密码强度长条的 id。

2、checkStrength 方法中可以自定义密码强度的规则。

3、密码强度显示低中高分别对应 3 个 css 样式(strengthLv1、strengthLv2、strengthLv3)。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
如何实现动态删除javascript函数
May 27 Javascript
window.location.hash 属性使用说明
Mar 20 Javascript
菜鸟javascript基础资料整理2
Dec 06 Javascript
jQuery jcrop插件截图使用方法
Nov 20 Javascript
基于jQuery实现返回顶部实例代码
Jan 01 Javascript
AngularJS中的promise用法分析
May 19 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
Aug 03 Javascript
12条写出高质量JS代码的方法
Jan 07 Javascript
node实现的爬虫功能示例
May 04 Javascript
如何更好的编写js async函数
May 13 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
Jun 30 Javascript
layui lay-verify form表单自定义验证规则详解
Sep 18 Javascript
JavaScript实现图像模糊化的方法实例
Jan 15 #Javascript
vue实现简单实时汇率计算功能
Jan 15 #Javascript
bootstrap——bootstrapTable实现隐藏列的示例
Jan 14 #Javascript
JS轮播图中缓动函数的封装
Nov 25 #Javascript
JavaScript字符串对象
Jan 14 #Javascript
jquery mobile移动端幻灯片滑动切换效果
Apr 15 #Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
Jan 14 #Javascript
You might like
PHP MSSQL 存储过程的方法
2008/12/24 PHP
怎样去阅读一份php源代码
2009/08/21 PHP
Array of country list in PHP with Zend Framework
2011/10/17 PHP
深入解析PHP的引用计数机制
2013/06/14 PHP
php防注入及开发安全详细解析
2013/08/09 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
2014/04/19 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
2015/06/29 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
php版微信公众平台开发之验证步骤实例详解
2016/09/23 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
php7 新增功能实例总结
2020/05/25 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
2007/08/21 Javascript
jquery ui dialog ie8出现滚动条的解决方法
2010/12/06 Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
2015/03/25 Javascript
JavaScript中String.match()方法的使用详解
2015/06/06 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
JS传值出现中文参数乱码的解决方法
2016/06/30 Javascript
JS表单数据验证的正则表达式(常用)
2017/02/18 Javascript
详解JavaScript中精度失准问题及解决方法
2020/02/04 Javascript
八大排序算法的Python实现
2021/01/28 Python
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
2016/12/14 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
2020/02/28 Python
HTML5 CSS3新的WEB标准和浏览器支持
2009/07/16 HTML / CSS
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
高中毕业生生活的自我评价
2013/12/08 职场文书
给朋友的道歉信
2014/01/09 职场文书
元旦晚会策划方案
2014/02/18 职场文书
安全责任书范本
2014/04/15 职场文书
我心目中的好老师活动方案
2014/08/19 职场文书
解除聘用合同证明书范本
2014/09/11 职场文书
观看《周恩来的四个昼夜》思想汇报
2014/09/12 职场文书
教师四风自我剖析材料
2014/09/30 职场文书
公司管理制度范本
2015/08/03 职场文书
python实现语音常用度量方法的代码详解
2021/05/25 Python