JavaScript判断密码强度(自写代码)


Posted in Javascript onSeptember 06, 2013

在一些网站注册的时候经常可以看到密码强度提示,例如优酷:
JavaScript判断密码强度(自写代码) 
今天自己做了一个JS密码强度判断,效果如下:
JavaScript判断密码强度(自写代码) 
以下是代码:

<html> 
<head> 
<title>JS判断密码强度</title> 
<script language=javascript> 
//判断输入密码的类型 
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; 
} 
//返回强度级别 
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); 
} //显示颜色 
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> 
</head> 
<body> 
<form name=form1 action="" > 
<table width="250" border="0" cellpadding=2" bordercolor="#eeeeee" style='display:inline'> 
<tr> 
<td width="40%" align="right">密码:</td> 
<td colspan="3" align="left"> 
<input type=password size=20 onKeyUp=pwStrength(this.value) onBlur=pwStrength(this.value)> 
</td> 
</tr> 
<tr align="center"> 
<td width="40%" align="right">密码强度:</td> 
<td width="20%" id="strength_L" bgcolor="#f5f5f5">弱</td> 
<td width="20%" id="strength_M" bgcolor="#f5f5f5">中</td> 
<td width="20%" id="strength_H" bgcolor="#f5f5f5">强</td> 
</tr> 
</table> 
</form> 
</body> 
</html>
Javascript 相关文章推荐
javascript笔试题目附答案@20081025_jb51.net
Oct 26 Javascript
JQuery 浮动导航栏实现代码
Aug 27 Javascript
在Javascript中处理数组之toSource()方法的使用
Jun 09 Javascript
javascript实现别踩白块儿小游戏程序
Nov 22 Javascript
浅谈js中的延迟执行和定时执行
May 31 Javascript
jQuery简单实现上下,左右滑动的方法
Jun 01 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
Jun 12 Javascript
js基础之DOM中元素对象的属性方法详解
Oct 28 Javascript
jQuery实现最简单实用的分秒倒计时
Feb 05 Javascript
学习使用jQuery表单验证插件和日历插件
Feb 13 Javascript
javascript中函数的写法实例代码详解
Oct 28 Javascript
vue axios封装及API统一管理的方法
Apr 18 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
Sep 06 #Javascript
让网页跳转到指定位置的jquery代码非书签
Sep 06 #Javascript
jquery中prop()方法和attr()方法的区别浅析
Sep 06 #Javascript
CheckBoxList多选样式jquery、C#获取选择项
Sep 06 #Javascript
jquery阻止冒泡事件使用模拟事件
Sep 06 #Javascript
Jquery的hover方法让鼠标经过li时背景变色
Sep 06 #Javascript
Jquery的hide及toggle方法让超链接慢慢消失
Sep 06 #Javascript
You might like
php include加载文件两种方式效率比较
2010/08/08 PHP
php用户注册时常用的检验函数实例总结
2014/12/22 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
js对数字的格式化使用说明
2011/01/12 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
NodeJS学习笔记之Connect中间件模块(二)
2015/01/27 NodeJs
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
js实现n秒倒计时后才可以点击的效果
2015/12/20 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
javascript运算符——位运算符全面介绍
2016/07/14 Javascript
原生js轮播特效
2017/05/18 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
微信小程序媒体组件详解(视频,音乐,图片)
2017/09/19 Javascript
js数组方法reduce经典用法代码分享
2018/01/07 Javascript
Vue 菜单栏点击切换单个class(高亮)的方法
2018/08/22 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
JS实现简单tab选项卡切换
2019/10/25 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
Ubuntu安装Jupyter Notebook教程
2017/10/18 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
Python如何使用BeautifulSoup爬取网页信息
2019/11/26 Python
安装多个版本的TensorFlow的方法步骤
2020/04/21 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
Python爬取梨视频的示例
2021/01/29 Python
一款CSS3实现多功能下拉菜单(带分享按)的教程
2014/11/05 HTML / CSS
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
中秋晚会活动方案
2014/08/31 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
党员批评与自我批评思想汇报
2014/10/08 职场文书
大学生求职自荐信
2015/03/24 职场文书
学校隐患排查制度
2015/08/05 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL
Redis分布式锁的7种实现
2022/04/01 Redis