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 相关文章推荐
js Array操作的最简短最容易理解方法
Dec 09 Javascript
jQuery文件上传插件Uploadify使用指南
Jun 05 Javascript
深入理解Javascript中this的作用域
Aug 12 Javascript
轻松实现JavaScript图片切换
Jan 12 Javascript
js与applet相互调用的方法
Jun 22 Javascript
JavaScript获取中英文混合字符串长度的方法示例
Feb 04 Javascript
js实现多行文本框统计剩余字数功能
Mar 28 Javascript
webpack2.0搭建前端项目的教程详解
Apr 05 Javascript
详解Angular4中路由Router类的跳转navigate
Jun 09 Javascript
vue 之 .sync 修饰符示例详解
Apr 21 Javascript
vue2.0 可折叠列表 v-for循环展示的实例
Sep 07 Javascript
js 数组当前行添加数据方法详解
Jul 28 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 会话(session 时间设定)使用入门代码
2008/06/05 PHP
基于php iconv函数的使用详解
2013/06/09 PHP
PHP基于GD库的图像处理方法小结
2016/09/27 PHP
注释PHP和html混合代码的小技巧(分享)
2016/11/03 PHP
PHP经典实用正则表达式小结
2017/05/04 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
javascript编程起步(第三课)
2007/02/27 Javascript
jquery 追加tr和删除tr示例代码
2013/09/12 Javascript
jQuery多项选项卡的实现思路附样式及代码
2014/06/03 Javascript
jQuery实现跨域
2015/02/03 Javascript
jQuery实现平滑滚动到指定锚点的方法
2015/03/20 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
JS 通过系统时间限定动态添加 select option的实例代码
2016/06/09 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
2016/09/01 Javascript
BootStrap表单验证实例代码
2017/01/13 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
2019/04/19 Javascript
js 计算月/周的第一天和最后一天代码
2020/02/01 Javascript
JS原型prototype和__proto__用法实例分析
2020/03/14 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
使用JavaScript实现贪吃蛇游戏
2020/09/29 Javascript
[01:14:19]NAVI vs Mineski 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
2017/06/12 Python
解析Python中的eval()、exec()及其相关函数
2017/12/20 Python
python机器学习实战之树回归详解
2017/12/20 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
python2.7和NLTK安装详细教程
2018/09/19 Python
ubuntu16.04制作vim和python3的开发环境
2018/09/23 Python
python 字典有序并写入json文件过程解析
2019/09/30 Python
HTML5 新事件 小结
2009/07/16 HTML / CSS
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
大班幼儿评语大全
2014/04/30 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
道德与公民自我评价
2015/03/09 职场文书
趣味运动会新闻稿
2015/07/17 职场文书