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 相关文章推荐
javascript 星级评分效果(手写)
Dec 24 Javascript
JS 实现获取打开一个界面中输入的值
Mar 19 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
Nov 19 Javascript
jQuery中nextAll()方法用法实例
Jan 07 Javascript
javascript结合fileReader 实现上传图片
Jan 30 Javascript
探索Javascript中this的奥秘
Dec 11 Javascript
JavaScript编写一个贪吃蛇游戏
Mar 09 Javascript
angularjs项目的页面跳转如何实现(5种方法)
May 25 Javascript
详解从零搭建 vue2 vue-router2 webpack3 工程
Nov 22 Javascript
vue中实现在外部调用methods的方法(推荐)
Feb 08 Javascript
看看“疫苗查询”小程序有温度的代码
Jul 31 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
Nov 23 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
MySQL数据源表结构图示
2008/06/05 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
PHP使用Redis实现防止大并发下二次写入的方法
2017/10/09 PHP
Laravel使用原生sql语句并调用的方法
2019/10/09 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
js 格式化时间日期函数小结
2010/03/20 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
javascript校验价格合法性实例(必须输入2位小数)
2014/05/05 Javascript
javascript设计模式之中介者模式Mediator
2014/12/30 Javascript
jQuery实现连续动画效果实例分析
2015/10/09 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
浅析angularJS中的ui-router和ng-grid模块
2016/05/20 Javascript
30分钟快速掌握Bootstrap框架
2016/05/24 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
原生JS发送异步数据请求
2017/06/08 Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
2017/10/14 jQuery
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
Vue路由之JWT身份认证的实现方法
2019/08/26 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
Python Paramiko模块的使用实际案例
2018/02/01 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
Python中的 ansible 动态Inventory 脚本
2020/01/19 Python
keras topN显示,自编写代码案例
2020/07/03 Python
adidas美国官网:adidas US
2016/09/21 全球购物
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
学校三节实施方案
2014/06/09 职场文书
工作疏忽检讨书500字
2014/10/26 职场文书
黄石寨导游词
2015/02/05 职场文书
辛亥革命观后感
2015/06/02 职场文书
Python+Appium自动化测试的实战
2021/06/30 Python
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android
Hive HQL支持2种查询语句风格
2022/06/25 数据库