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 相关文章推荐
给网站上的广告“加速”显示的方法
Apr 08 Javascript
event.keyCode键码值表 附只能输入特定的字符串代码
May 15 Javascript
使用jQuery模板来展现json数据的代码
Oct 22 Javascript
Jquery中获取iframe的代码
Jan 11 Javascript
使用js的replace()方法查找字符示例代码
Oct 28 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
Mar 10 Javascript
JavaScript多并发问题如何处理
Oct 28 Javascript
第三章之Bootstrap 表格与按钮功能
Apr 25 Javascript
AngularJS Ajax详解及示例代码
Aug 17 Javascript
一句jQuery代码实现返回顶部效果(简单实用)
Dec 28 Javascript
让 babel webpack vue 配置文件支持智能提示的方法
Jun 22 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
Aug 31 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魔术变量用法实例详解
2014/11/13 PHP
PHP+APACHE实现网址伪静态
2015/02/22 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
php使用curl实现ftp文件下载功能
2017/05/16 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
Js 本页面传值实现代码
2009/05/17 Javascript
JavaScript 动态生成方法的例子
2009/07/22 Javascript
前台js对象在后台转化java对象的问题探讨
2013/12/20 Javascript
jQuery操作CheckBox的方法介绍(选中,取消,取值)
2014/02/04 Javascript
JS图像无缝滚动脚本非常好用
2014/02/10 Javascript
JavaScript实现Java中StringBuffer的方法
2015/02/09 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
javascript日期格式化方法小结
2015/12/17 Javascript
AngularJS实现表单验证功能
2017/01/09 Javascript
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
2017/04/28 jQuery
Angular2使用Augury来调试Angular2程序
2017/05/21 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
JS实现简单的选择题测评系统代码思路详解(demo)
2017/09/03 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
Angular2实现的秒表及改良版示例
2019/05/10 Javascript
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
Vue 自定义指令功能完整实例
2019/09/17 Javascript
JS数组方法join()用法实例分析
2020/01/18 Javascript
vue fetch中的.then()的正确使用方法
2020/04/17 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
[03:43]2014DOTA2西雅图国际邀请赛 newbee战队巡礼
2014/07/07 DOTA
[01:02]DOTA2上海特锦赛SHOWOPEN
2016/03/25 DOTA
python PIL模块与随机生成中文验证码
2016/02/27 Python
解决Pycharm 导入其他文件夹源码的2种方法
2020/02/12 Python
查看keras各种网络结构各层的名字方式
2020/06/11 Python
Python爬虫实现HTTP网络请求多种实现方式
2020/06/19 Python
虚拟机下载python是否需要联网
2020/07/27 Python
打造经典复古风格的品牌:Alice + Olivia(爱丽丝+奥利维亚)
2016/09/07 全球购物
病房管理制度范本
2015/08/06 职场文书
MySQL 不等于的三种使用及区别
2021/06/03 MySQL
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis