js检验密码强度(低中高)附图


Posted in Javascript onJune 05, 2014

最近一直在做通行证项目,里面的注册模块中输入密码需要显示密码强度(低中高)。今天就把做的效果给大家分享下,代码没有网上搜索的那么复杂,能够满足一般的需求。

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 相关文章推荐
jquery之empty()与remove()区别说明
Sep 10 Javascript
Jquery知识点三 jquery表单对象操作
Jan 17 Javascript
基于jQuery的获取标签名的代码
Jul 16 Javascript
jquery 实现上下滚动效果示例代码
Aug 09 Javascript
Javascript Ajax异步读取RSS文档具体实现
Dec 12 Javascript
基于jQuery实现二级下拉菜单效果
Feb 01 Javascript
jQuery封装的屏幕居中提示信息代码
Jun 08 Javascript
vue封装第三方插件并发布到npm的方法
Sep 25 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
Dec 11 Javascript
浅析TypeScript 命名空间
Mar 19 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
May 17 Javascript
在vue中created、mounted等方法使用小结
Jul 21 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
Jun 05 #Javascript
js如何判断用户是否是用微信浏览器
Jun 05 #Javascript
如何获取网站icon有哪些可行的方法
Jun 05 #Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
Jun 05 #Javascript
网页右下角弹出窗体实现代码
Jun 05 #Javascript
获取中文字符串的实际长度代码
Jun 05 #Javascript
jQuery文件上传插件Uploadify使用指南
Jun 05 #Javascript
You might like
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
2013/05/08 PHP
php stripslashes和addslashes的区别
2014/02/03 PHP
php实现统计目录文件大小的函数
2015/12/25 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
js字符编码函数区别分析
2008/06/05 Javascript
Javascript下判断是否为闰年的Datetime包
2010/10/26 Javascript
js实现日期级联效果
2014/01/23 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
2014/05/21 Javascript
Javascript封装DOMContentLoaded事件实例
2014/06/12 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
2016/04/04 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
bootstrap轮播模板使用方法详解
2017/11/17 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
vue+elementUI实现表格关键字筛选高亮
2020/10/26 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
2020/07/19 Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
2020/08/04 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
使用Python构建Hopfield网络的教程
2015/04/14 Python
解析Python中的异常处理
2015/04/28 Python
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
Python Web程序搭建简单的Web服务器
2019/07/31 Python
django echarts饼图数据动态加载的实例
2019/08/12 Python
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
学生手册家长评语
2014/02/10 职场文书
生日主持词
2014/03/20 职场文书
党的群众路线对照检查材料思想汇报(学校)
2014/10/04 职场文书
拔河比赛队名及霸气口号
2015/12/24 职场文书
加强党性修养心得体会
2016/01/21 职场文书
压缩Redis里的字符串大对象操作
2021/06/23 Redis
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS
nginx.conf配置文件结构小结
2022/04/08 Servers