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 相关文章推荐
JQuery 插件模板 制作jquery插件的朋友可以参考下
Mar 17 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
Feb 10 Javascript
javascript编写贪吃蛇游戏
Jul 07 Javascript
jQuery Easy UI中根据第一个下拉框选中的值设置第二个下拉框是否可以编辑
Nov 29 Javascript
BootStrap轮播HTML代码(推荐)
Dec 10 Javascript
详解用node搭建简单的静态资源管理器
Aug 09 Javascript
详解Vuex中mapState的具体用法
Sep 28 Javascript
AngularJS监听ng-repeat渲染完成的方法
Mar 20 Javascript
webpack proxy 使用(代理的使用)
Jan 10 Javascript
extjs图形绘制之饼图实现方法分析
Mar 06 Javascript
Node.js API详解之 net模块实例分析
May 18 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
Nov 23 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 判断网页是否是utf8编码的方法
2014/06/06 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
2008/09/08 Javascript
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
检测jQuery.js是否已加载的判断代码
2011/05/20 Javascript
仿新浪微博返回顶部的jquery实现代码
2012/10/01 Javascript
javascript延时加载之defer测试
2012/12/28 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
实现无刷新联动例子汇总
2015/05/20 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
JS+Canvas绘制时钟效果
2020/08/20 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
React进阶学习之组件的解耦之道
2017/08/07 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
vue之父子组件间通信实例讲解(props、$ref、$emit)
2018/05/22 Javascript
利用Decorator如何控制Koa路由详解
2018/06/26 Javascript
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
[05:24]TI9采访——教练
2019/08/24 DOTA
NumPy 如何生成多维数组的方法
2018/02/05 Python
python基于爬虫+django,打造个性化API接口
2021/01/21 Python
h5调用摄像头的实现方法
2016/06/01 HTML / CSS
饭店工作计划书
2014/01/10 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
工厂仓管员岗位职责范本
2014/07/17 职场文书
财务审计整改报告
2014/11/06 职场文书
村干部任职承诺书
2015/01/21 职场文书
教师节联欢会主持词
2015/07/04 职场文书
团支部书记竞选稿
2015/11/21 职场文书
uwsgi+nginx代理Django无法访问静态资源的解决
2021/05/10 Servers
Python源码解析之List
2021/05/21 Python