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 相关文章推荐
经常用的图片在容器中的水平垂直居中实例
Jun 10 Javascript
一个选择最快的服务器转向代码
Apr 27 Javascript
flexigrid 参数说明
Nov 23 Javascript
Jquery 模板数据绑定插件的使用方法详解
Jul 08 Javascript
javascript实例--教你实现扑克牌洗牌功能
May 15 Javascript
jQuery中判断对象是否存在的方法汇总
Feb 24 Javascript
js中利用cookie实现记住密码功能
Aug 20 Javascript
flag和jq on 的绑定多个对象和方法(必看)
Feb 27 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
Mar 15 Javascript
EasyUI中的dataGrid的行内编辑
Jun 22 Javascript
解决ie img标签内存泄漏的问题
Oct 13 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
Sep 03 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
搜索和替换文件或目录的一个好类--很实用
2006/10/09 PHP
php防注入,表单提交值转义的实现详解
2013/06/10 PHP
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
PHP中字符安全过滤函数使用小结
2015/02/25 PHP
php实现文件上传基本验证
2020/03/04 PHP
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
基于Jquery的跨域传输数据(JSONP)
2011/03/10 Javascript
理解和运用JavaScript的闭包机制
2015/08/13 Javascript
详解能在多种前端框架下使用的表格控件
2017/01/11 Javascript
Vue实例简单方法介绍
2017/01/20 Javascript
Javascript 链式作用域详细介绍
2017/02/23 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
Vue 全局loading组件实例详解
2018/05/29 Javascript
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
python基于右递归解决八皇后问题的方法
2015/05/25 Python
python转换字符串为摩尔斯电码的方法
2015/07/06 Python
Python中Django框架利用url来控制登录的方法
2015/07/25 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
2018/12/02 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
jenkins+python自动化测试持续集成教程
2020/05/12 Python
微信小程序canvas实现水平、垂直居中效果
2020/02/05 HTML / CSS
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
下列程序在32位linux或unix中的结果是什么
2015/01/26 面试题
小学教育毕业生自荐信
2013/11/18 职场文书
给护士表扬信
2014/01/19 职场文书
《在家里》教后反思
2014/03/01 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
小学优秀班集体申报材料
2014/05/25 职场文书
2014年个人委托书范本
2014/10/13 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
大学生逃课检讨书
2015/05/04 职场文书
2015年青年教师工作总结
2015/05/25 职场文书
2016国庆节67周年寄语
2015/12/07 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers
关于@OnetoMany关系映射的排序问题,使用注解@OrderBy
2021/12/06 Java/Android