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 相关文章推荐
6款新颖的jQuery和CSS3进度条插件推荐
Mar 05 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
Apr 15 Javascript
js获取location.href的参数实例代码
Aug 02 Javascript
JS去除空格和换行的正则表达式(推荐)
Jun 14 Javascript
canvas学习之API整理笔记(一)
Dec 29 Javascript
JavaScript中for循环的几种写法与效率总结
Feb 03 Javascript
JavaScript中清空数组的三种方式
Mar 22 Javascript
AngularJS2中一种button切换效果的实现方法(二)
Mar 27 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
Dec 20 Javascript
Javascript节流函数throttle和防抖函数debounce
Dec 03 Javascript
jQuery冲突问题解决方法
Jan 19 jQuery
vue中的可拖拽宽度div的实现示例
Apr 08 Vue.js
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更改目录及子目录下所有的文件后缀扩展名的代码
2010/10/12 PHP
PHP对象Object的概念 介绍
2012/06/14 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
PHP批量生成图片缩略图的方法
2015/06/18 PHP
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
2015/11/15 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
js 实现无干扰阴影效果 简单好用(附文件下载)
2009/12/27 Javascript
CSS和Javascript简单复习资料
2010/06/29 Javascript
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
2010/11/21 Javascript
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
JS未跨域操作iframe里的DOM
2016/06/01 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
AngularJS读取JSON及XML文件的方法示例
2017/05/25 Javascript
seajs中最常用的7个功能、配置示例
2017/10/10 Javascript
探讨Vue.js的组件和模板
2017/10/27 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
jQuery实现验证用户登录
2019/12/10 jQuery
解决Python传递中文参数的问题
2015/08/04 Python
Python中规范定义命名空间的一些建议
2016/06/04 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
python 找出list中最大或者最小几个数的索引方法
2018/10/30 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
django最快程序开发流程详解
2019/07/19 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
有abstract方法的类一定要用abstract修饰吗
2016/03/14 面试题
机械电子工程专业推荐信范文
2013/11/20 职场文书
售后专员岗位职责
2013/12/08 职场文书
创业计划书之美容店
2019/09/16 职场文书