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 Memoization 让函数也有记忆功能
Oct 27 Javascript
jquery清空表单数据示例分享
Feb 13 Javascript
js实现网页自动刷新可制作节日倒计时效果
May 27 Javascript
浅谈js中对象的使用
Aug 11 Javascript
JS查找字符串中出现次数最多的字符
Sep 05 Javascript
JavaScript每天必学之数组和对象部分
Sep 17 Javascript
vue.js异步上传文件前后端实现代码
Aug 22 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
Oct 26 Javascript
利用Javascript实现一套自定义事件机制
Dec 14 Javascript
vue.js 获取select中的value实例
Mar 01 Javascript
前端路由&amp;webpack基础配置详解
Jun 10 Javascript
Element InfiniteScroll无限滚动的具体使用方法
Jul 27 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中使用unset销毁变量并内存释放问题
2012/07/05 PHP
PHP利用REFERER根居访问来地址进行页面跳转
2013/09/28 PHP
php中数字0和空值的区别分析
2014/06/05 PHP
Yii基于数组和对象的Model查询技巧实例详解
2015/12/28 PHP
浅谈PHP eval()函数定义和用法
2016/06/21 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
jquery监控数据是否变化(修正版)
2011/04/12 Javascript
轻松创建nodejs服务器(2):nodejs服务器的构成分析
2014/12/18 NodeJs
jQuery中ajax的post()方法用法实例
2014/12/26 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
2016/01/12 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
Bootstrap基本插件学习笔记之折叠(22)
2016/12/08 Javascript
Bootstrap 填充Json数据的实例代码
2017/01/11 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
微信小程序使用前置摄像头拍照
2020/10/22 Javascript
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
Python实现建立SSH连接的方法
2015/06/03 Python
简单的python后台管理程序
2017/04/13 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
关于Python 常用获取元素 Driver 总结
2019/11/24 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
移动端HTML5实现文件上传功能【附代码】
2016/03/25 HTML / CSS
惠普美国官方商店:HP Official Store
2016/08/28 全球购物
西班牙宠物用品和食品网上商店:Tiendanimal
2019/06/06 全球购物
办理房产过户的委托书
2014/09/14 职场文书
法定代表人身份证明书(含说明)
2014/10/02 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书
Python数据处理的三个实用技巧分享
2022/04/01 Python
js 实现Material UI点击涟漪效果示例
2022/09/23 Javascript