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 相关文章推荐
js中字符替换函数String.replace()使用技巧
Aug 14 Javascript
javascript里模拟sleep(两种实现方式)
Jan 25 Javascript
Ionic快速安装教程
Jun 03 Javascript
Vue实现双向绑定的方法
Dec 22 Javascript
详解webpack es6 to es5支持配置
May 04 Javascript
ES6中Array.includes()函数的用法
Sep 20 Javascript
JS实现判断图片是否加载完成的方法分析
Jul 31 Javascript
vue缓存的keepalive页面刷新数据的方法
Apr 23 Javascript
原生JS 实现的input输入时表格过滤操作示例
Aug 03 Javascript
JavaScript实现Excel表格效果
Feb 07 Javascript
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作
Jul 31 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 Vue.js
原生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
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
ThinkPHP之foreach标签使用概述
2014/06/30 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
2012/01/04 Javascript
Js参数值中含有单引号或双引号问题的解决方法
2013/11/06 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
2016/03/22 Javascript
Bootstrap表单布局样式代码
2016/05/31 Javascript
微信小程序  简单实例(阅读器)的实例开发
2016/09/29 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
微信小程序 地图map实例详解
2017/06/07 Javascript
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
Vue利用canvas实现移动端手写板的方法
2018/05/03 Javascript
学习React中ref的两个demo示例
2018/08/14 Javascript
微信小程序下拉框组件使用方法详解
2018/12/28 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
vue中echarts引入中国地图的案例
2020/07/28 Javascript
vue绑定class的三种方法
2020/12/24 Vue.js
简单的通用表达式求10乘阶示例
2014/03/03 Python
Python中捕捉详细异常信息的代码示例
2014/09/18 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
Python爬虫包BeautifulSoup实例(三)
2018/06/17 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
Python操作dict时避免出现KeyError的几种解决方法
2020/09/20 Python
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
省文明单位申报材料
2014/05/08 职场文书
党的群众路线教育实践活动教师自我剖析材料
2014/10/09 职场文书
创业计划书之美甲店
2019/09/20 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
OpenCV3.3+Python3.6实现图片高斯模糊
2021/05/18 Python
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers
MySQL新手入门进阶语句汇总
2022/09/23 MySQL