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 相关文章推荐
精通Javascript系列之数据类型 字符串
Jun 08 Javascript
js中的referrer返回上一页使用介绍
Sep 26 Javascript
jQery使网页在显示器上居中显示适用于任何分辨率
Jun 09 Javascript
JavaScript制作淘宝星级评分效果的思路
Jun 23 Javascript
Javascript函数中的arguments.callee用法实例分析
Sep 16 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
Dec 01 Javascript
利用Node.js编写跨平台的spawn语句详解
Feb 12 Javascript
详解微信小程序 相对定位和绝对定位
May 11 Javascript
关于Vue.nextTick()的正确使用方法浅析
Aug 25 Javascript
解析Vue.js中的组件
Feb 02 Javascript
js中getter和setter用法实例分析
Aug 14 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
Aug 28 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
php后台如何避免用户直接进入方法实例
2013/10/15 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
2016/11/28 PHP
jQuery getJSON 处理json数据的代码
2010/07/26 Javascript
JQuery判断子iframe何时加载完成解决方案
2013/08/20 Javascript
详谈javascript中的cookie
2015/06/03 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
2016/06/02 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
JSONP跨域请求
2017/03/02 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
常用的9个JavaScript图表库详解
2017/12/19 Javascript
Vue-cli项目获取本地json文件数据的实例
2018/03/07 Javascript
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
vue单页面应用打开新窗口显示跳转页面的实例
2018/09/21 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
jquery+css3实现的经典弹出层效果示例
2020/05/16 jQuery
Python中DJANGO简单测试实例
2015/05/11 Python
Python3 处理JSON的实例详解
2017/10/29 Python
Python subprocess库的使用详解
2018/10/26 Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
2020/04/03 Python
python列表的逆序遍历实现
2020/04/20 Python
python3.5的包存放的具体路径
2020/08/16 Python
美国内衣第一品牌:Hanes(恒适)
2016/07/29 全球购物
KIKO比利时官网:意大利彩妆品牌
2017/07/23 全球购物
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
中学生学习生活的自我评价
2013/10/26 职场文书
计算机专业毕业生自荐信
2013/12/31 职场文书
幼儿生日活动方案
2014/08/27 职场文书
研究生导师评语
2014/12/31 职场文书
催款函范文
2015/06/24 职场文书
预备党员的思想汇报,你真的会写吗?
2019/06/28 职场文书
MySQL中一条update语句是如何执行的
2022/03/16 MySQL