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 相关文章推荐
asp 的 分词实现代码
May 24 Javascript
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
Nov 30 Javascript
用jquery和json从后台获得数据集的代码
Nov 07 Javascript
js 调用本地exe的例子(支持IE内核的浏览器)
Dec 26 Javascript
JS方法调用括号的问题探讨
Jan 24 Javascript
iframe如何动态创建及释放其所占内存
Sep 03 Javascript
JS实现网页滚动条感应鼠标变色的方法
Feb 26 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
May 12 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
Oct 31 Javascript
js闭包学习心得总结
Apr 17 Javascript
JS实现十分钟倒计时代码实例
Oct 18 Javascript
js实现树形数据转成扁平数据的方法示例
Feb 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实现获取图片颜色值的方法
2014/07/11 PHP
PHP中实现获取IP和地理位置类分享
2015/02/10 PHP
为你总结一些php信息函数
2015/10/21 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
详解Laravel5.6 Passport实现Api接口认证
2018/07/27 PHP
php+ajax实现商品对比功能示例
2019/04/13 PHP
Nginx+php配置文件及原理解析
2020/12/09 PHP
jquery JSON的解析方式
2009/07/25 Javascript
Jquery ui css framework
2010/06/28 Javascript
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
2010/07/11 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
Node.js开发者必须了解的4个JS要点
2016/02/21 Javascript
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
解决vue打包后vendor.js文件过大问题
2019/07/03 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
2019/08/14 Javascript
使用 Vue 实现一个虚拟列表的方法
2019/08/20 Javascript
python使用mysql数据库示例代码
2017/05/21 Python
python九九乘法表的实例
2017/09/26 Python
Tensorflow实现卷积神经网络的详细代码
2018/05/24 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
Python DataFrame设置/更改列表字段/元素类型的方法
2018/06/09 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
Python发展史及网络爬虫
2019/06/19 Python
python async with和async for的使用
2019/06/20 Python
numpy和pandas中数组的合并、拉直和重塑实例
2019/06/28 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
2020/04/10 Python
全球虚拟主机商:HostGator
2017/02/06 全球购物
大码女装:Ulla Popken
2019/08/06 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
税务专业毕业生自荐信
2013/11/10 职场文书
中医专业职业生涯规划书范文
2014/01/04 职场文书
父亲的菜园教学反思
2014/02/13 职场文书
市政管理求职信范文
2014/05/07 职场文书
索赔员岗位职责
2015/02/15 职场文书
2015年圣诞节活动总结
2015/03/24 职场文书
浅谈Vue的computed计算属性
2022/03/21 Vue.js