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 获取图片颜色
Apr 05 Javascript
js 数值转换为3位逗号分隔的示例代码
Feb 19 Javascript
javascript生成随机颜色示例代码
May 05 Javascript
jQuery的图片滑块焦点图插件整理推荐
Dec 07 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
Aug 17 Javascript
jquery带翻页动画的电子杂志代码分享
Aug 21 Javascript
angular4 如何在全局设置路由跳转动画的方法
Aug 30 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
Nov 10 Javascript
Element Breadcrumb 面包屑的使用方法
Jul 26 Javascript
原生js实现贪吃蛇游戏
Oct 26 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
Dec 02 Vue.js
Vue实现随机验证码功能
Dec 29 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
thinkPHP中分页用法实例分析
2015/12/26 PHP
php实现页面纯静态的实例代码
2017/06/21 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
JS函数验证总结(方便js客户端输入验证)
2010/10/29 Javascript
js正文内容高亮效果的实现方法
2013/06/30 Javascript
1秒50万字!js实现关键词匹配
2016/08/01 Javascript
JS图片放大效果简单实现代码
2016/09/08 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
详解Node.js 命令行程序开发教程
2017/06/07 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
2017/10/26 Javascript
Vue.js递归组件构建树形菜单
2017/12/24 Javascript
vue-cli脚手架-bulid下的配置文件
2018/03/27 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
vue-cli webpack配置文件分析
2019/05/20 Javascript
js逆向解密之网络爬虫
2019/05/30 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
vue element upload实现图片本地预览
2019/08/20 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
理解Python中函数的参数
2015/04/27 Python
Python操作MongoDB数据库PyMongo库使用方法
2015/04/27 Python
Python编写简单的HTML页面合并脚本
2016/07/11 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
基于Python执行dos命令并获取输出的结果
2019/12/30 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
党员领导干部承诺书
2014/05/28 职场文书
民主评议政风行风活动心得体会
2014/10/29 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
实习报告范文之电话客服岗位
2019/07/26 职场文书
Java实现注册登录跳转
2022/06/16 Java/Android
Linux安装Docker详细教程
2022/07/07 Servers