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 相关文章推荐
一段利用WSH获取登录时间的jscript代码
May 11 Javascript
jQuery+jqmodal弹出窗口实现代码分明
Jun 14 Javascript
使用JavaScript构建JSON格式字符串实现步骤
Mar 22 Javascript
JavaScript用Number方法实现string转int
May 13 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
Mar 25 Javascript
JS设置cookie、读取cookie、删除cookie
Apr 17 Javascript
jquery实现手机号码选号的方法
Jul 31 Javascript
React组件的三种写法总结
Jan 12 Javascript
原生js获取left值和top值的三种方法
Aug 02 Javascript
vue实现树形菜单效果
Mar 19 Javascript
vue中slot(插槽)的介绍与使用
Nov 12 Javascript
Element Carousel 走马灯的具体实现
Jul 26 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实现智能文件类型检测的实现代码
2011/08/02 PHP
解决nginx不支持thinkphp中pathinfo的问题
2015/07/21 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
js 巧妙去除数组中的重复项
2010/01/25 Javascript
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
在JavaScript中实现类的方式探讨
2013/08/28 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
JQ技术实现注册页面带有校验密码强度
2015/07/27 Javascript
js验证身份证号有效性并提示对应信息
2015/10/19 Javascript
JS实现页面进入和返回定位到具体位置
2016/12/08 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
nodejs中使用HTTP分块响应和定时器示例代码
2017/03/19 NodeJs
js轮播图无缝滚动效果
2017/06/17 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
Electron 如何调用本地模块的方法
2019/02/01 Javascript
详解在HTTPS 项目中使用百度地图 API
2019/04/26 Javascript
JS计算斐波拉切代码实例
2019/09/12 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
2020/03/10 Javascript
python监控网卡流量并使用graphite绘图的示例
2014/04/27 Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
2017/09/08 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
2018/02/13 Python
Python实现查找最小的k个数示例【两种解法】
2019/01/08 Python
python找出因数与质因数的方法
2019/07/25 Python
Python中的四种交换数值的方法解析
2019/11/18 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
写好自荐信的要点
2013/11/06 职场文书
军校制空专业毕业生自我鉴定
2013/11/16 职场文书
创先争优活动方案
2014/02/12 职场文书
批评与自我批评范文
2014/10/15 职场文书
营业用房租赁协议书
2014/11/26 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
信仰观后感
2015/06/03 职场文书
班级联欢会主持词
2015/07/03 职场文书
Go 内联优化让程序员爱不释手
2022/06/21 Golang