JavaScript 密码强度判断代码


Posted in Javascript onSeptember 05, 2009
<script type="text/javascript"> 
//CharMode函数 
//测试某个字符是属于哪一类. 
function CharMode(iN){ 
if (iN>=48 && iN <=57) //数字 
return 1; 
if (iN>=65 && iN <=90) //大写字母 
return 2; 
if (iN>=97 && iN <=122) //小写 
return 4; 
else 
return 8; //特殊字符 
} //bitTotal函数 
//计算出当前密码当中一共有多少种模式 
function bitTotal(num){ 
modes=0; 
for (i=0;i<4;i++){ 
if (num & 1) modes++; 
num>>>=1; 
} 
return modes; 
} 
//checkStrong函数 
//返回密码的强度级别 
function checkStrong(sPW){ 
if (sPW.length<=4) 
return 0; //密码太短 
Modes=0; 
for (i=0;i<sPW.length;i++){ 
//测试每一个字符的类别并统计一共有多少种模式. 
Modes|=CharMode(sPW.charCodeAt(i)); 
} 
return bitTotal(Modes); 
} 
//pwStrength函数 
//当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色 
function pwStrength(pwd){ 
O_color="#eeeeee"; 
L_color="#FF0000"; 
M_color="#FF9900"; 
H_color="#33CC00"; 
if (pwd==null||pwd==''){ 
Lcolor=Mcolor=Hcolor=O_color; 
} 
else{ 
S_level=checkStrong(pwd); 
switch(S_level) { 
case 0: 
Lcolor=Mcolor=Hcolor=O_color; 
case 1: 
Lcolor=L_color; 
Mcolor=Hcolor=O_color; 
break; 
case 2: 
Lcolor=Mcolor=M_color; 
Hcolor=O_color; 
break; 
default: 
Lcolor=Mcolor=Hcolor=H_color; 
} 
} 
document.getElementById("strength_L").style.background=Lcolor; 
document.getElementById("strength_M").style.background=Mcolor; 
document.getElementById("strength_H").style.background=Hcolor; 
return; 
} 
</script> 

<form name=form1 action="" > 
输入密码:<input type=password size=10 onKeyUp=pwStrength(this.value) onBlur=pwStrength(this.value)> 
<br>密码强度: 
<table width="217" border="1" cellspacing="0" cellpadding="1" bordercolor="#cccccc" height="23" style='display:inline'> 
<tr align="center" bgcolor="#eeeeee"> 
<td width="33%" id="strength_L">弱</td> 
<td width="33%" id="strength_M">中</td> 
<td width="33%" id="strength_H">强</td> 
</tr> 
</table> 
</form>
Javascript 相关文章推荐
Jquery+CSS3实现一款简洁大气带滑动效果的弹出层
May 15 Javascript
JS、DOM和JQuery之间的关系示例分析
Apr 09 Javascript
jQuery选择id属性带有点符号元素的方法
Mar 17 Javascript
jQuery使用hide方法隐藏元素自身用法实例
Mar 30 Javascript
javascript中返回顶部按钮的实现
May 05 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
Nov 20 Javascript
浅析BootStrap Treeview的简单使用
Oct 12 Javascript
JavaScript+HTML5实现的日期比较功能示例
Jul 12 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
Jun 22 Javascript
vue-cli系列之vue-cli-service整体架构浅析
Jan 14 Javascript
VUE引入第三方js包及调用方法讲解
Mar 01 Javascript
使用webpack4编译并压缩ES6代码的方法示例
Apr 24 Javascript
关于javascript中的parseInt使用技巧
Sep 03 #Javascript
jquery判断单个复选框是否被选中的代码
Sep 03 #Javascript
javascript 触发事件列表 比较不错
Sep 03 #Javascript
javascript concat数组累加 示例
Sep 03 #Javascript
ie focus bug 解决方法
Sep 03 #Javascript
javascript 24小时弹出一次的代码(利用cookies)
Sep 03 #Javascript
使用jQuery的ajax功能实现的RSS Reader 代码
Sep 03 #Javascript
You might like
简单PHP上传图片、删除图片实现代码
2010/05/12 PHP
PHP生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
php中使用cookie来保存用户登录信息的实现代码
2012/03/08 PHP
推荐一本PHP程序猿都应该拜读的书
2014/12/31 PHP
PHP将数据导出Excel表中的实例(投机型)
2017/07/31 PHP
php封装的pdo数据库操作工具类与用法示例
2019/05/08 PHP
jQuery $.each的用法说明
2010/03/22 Javascript
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
jquery根据name属性查找的小例子
2013/11/21 Javascript
js获取某元素的class里面的css属性值代码
2014/01/16 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
2014/05/08 Javascript
下一代Bootstrap的5个特点 超酷炫!
2016/06/17 Javascript
利用js+css+html实现固定table的列头不动
2016/12/08 Javascript
Canvas实现微信红包照片效果
2018/08/21 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
浏览器JavaScript调试功能无法使用解决方案
2020/09/18 Javascript
跟老齐学Python之编写类之二方法
2014/10/11 Python
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
对tensorflow中的strides参数使用详解
2020/01/04 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
2020/02/28 Python
Python实现代码块儿折叠
2020/04/15 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
存储过程的优缺点是什么
2015/01/10 面试题
微观物理专业自荐信
2014/01/26 职场文书
高三毕业典礼演讲稿
2014/05/13 职场文书
大学生个人求职信
2014/06/02 职场文书
承租经营合作者协议书
2014/10/01 职场文书
党的群众路线教育实践活动对照检查剖析材料
2014/10/09 职场文书
离婚被告答辩状
2015/05/22 职场文书
2016年妇联“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
2021/04/01 PHP
Java基于字符界面的简易收银台
2021/06/26 Java/Android
Java使用Unsafe类的示例详解
2021/09/25 Java/Android
Win11如何启用启动修复 ? Win11执行启动修复的三种方法
2022/04/08 数码科技