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 ThickBox插件使用心得(不建议使用)
Sep 08 Javascript
将光标定位于输入框最右侧实现代码
Dec 04 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
Dec 29 Javascript
jQuery插件制作之全局函数用法实例
Jun 01 Javascript
AngularJS基础 ng-keypress 指令简单示例
Aug 02 Javascript
js数字计算 误差问题的快速解决方法
Feb 28 Javascript
vue拦截器Vue.http.interceptors.push使用详解
Apr 22 Javascript
详解vue前后台数据交互vue-resource文档
Jul 19 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
Sep 29 Javascript
深入理解Vue nextTick 机制
Apr 28 Javascript
Vue.js的动态组件模板的实现
Nov 26 Javascript
vue项目前端埋点的实现
Mar 06 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/08/20 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
Yii2下点击验证码的切换实例代码
2017/03/14 PHP
php图像验证码生成代码
2017/06/08 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
2019/09/30 PHP
jquery连缀语法如何实现
2012/11/29 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
jQuery自定义滚动条完整实例
2016/01/08 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
2016/01/08 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
2016/08/09 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
2017/11/11 Javascript
Vue数据双向绑定原理及简单实现方法
2018/05/18 Javascript
微信小程序仿RadioGroup改变样式的处理方案
2018/07/13 Javascript
使用koa2创建web项目的方法步骤
2019/03/12 Javascript
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
JQuery获得内容和属性方法解析
2020/05/30 jQuery
Jquery cookie插件实现原理代码解析
2020/08/04 jQuery
Python Web框架Flask信号机制(signals)介绍
2015/01/01 Python
Python2.x与Python3.x的区别
2016/01/14 Python
理解python正则表达式
2016/01/15 Python
python下载文件记录黑名单的实现代码
2017/10/24 Python
PyQt5打开文件对话框QFileDialog实例代码
2018/02/07 Python
Python使用OpenCV进行标定
2018/05/08 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
Clearly澳大利亚:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
验房委托书
2014/08/30 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
餐饮店长岗位职责
2015/04/14 职场文书
周一问候语大全
2015/11/10 职场文书
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP
MySQL 逻辑备份 into outfile
2022/05/15 MySQL