用于判断用户注册时,密码强度的JS代码


Posted in Javascript onJanuary 01, 2009

<script language=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与Image加载事件(onload)、加载状态(complete)
Feb 14 Javascript
Jquery 选中表格一列并对表格排序实现原理
Dec 15 Javascript
Javascript写入txt和读取txt文件示例
Feb 12 Javascript
简单的jquery左侧导航栏和页面选中效果
Aug 21 Javascript
JQ技术实现注册页面带有校验密码强度
Jul 27 Javascript
获取input标签的所有属性的方法
Jun 28 Javascript
jQuery内容过滤选择器用法示例
Sep 09 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
Dec 19 Javascript
easy ui datagrid 从编辑框中获取值的方法
Feb 22 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
Jun 26 Javascript
vue项目部署到Apache服务器中遇到的问题解决
Aug 24 Javascript
微信小程序自定义扫码功能界面的实现代码
Jul 02 Javascript
很全的显示阴历(农历)日期的js代码
Jan 01 #Javascript
js继承 Base类的源码解析
Dec 30 #Javascript
动态创建的表格单元格中的事件实现代码
Dec 30 #Javascript
javascript FormatNumber函数实现方法
Dec 30 #Javascript
js 图片轮播(5张图片)
Dec 30 #Javascript
走出JavaScript初学困境—js初学
Dec 29 #Javascript
ExtJS 简介 让你知道extjs是什么
Dec 29 #Javascript
You might like
js showModalDialog参数的使用详解
2014/01/07 Javascript
node.js中的path.dirname方法使用说明
2014/12/09 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
轻松实现javascript图片轮播特效
2016/01/13 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
使用DeviceOne实现微信小程序功能
2016/12/29 Javascript
jQuery实现 上升、下降、删除、添加一行代码
2017/03/06 Javascript
JS实现根据密码长度显示安全条功能
2017/03/08 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
npm全局模块卸载及默认安装目录修改方法
2018/05/15 Javascript
[02:49]DAC2018决赛日TOP5 LGD开启黑暗之门绝杀VP
2018/04/08 DOTA
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
Python lxml模块安装教程
2015/06/02 Python
python实现下载指定网址所有图片的方法
2015/08/08 Python
详解Python中的变量及其命名和打印
2016/03/11 Python
Python实现批量读取图片并存入mongodb数据库的方法示例
2018/04/02 Python
破解安装Pycharm的方法
2018/10/19 Python
python 将列表中的字符串连接成一个长路径的方法
2018/10/23 Python
详解Python中的测试工具
2019/06/09 Python
解决yum对python依赖版本问题
2019/07/05 Python
python+logging+yaml实现日志分割
2019/07/22 Python
python sorted函数原理解析及练习
2020/02/10 Python
python绘制玫瑰的实现代码
2020/03/02 Python
keras 自定义loss层+接受输入实例
2020/06/28 Python
2021年的Python 时间轴和即将推出的功能详解
2020/07/27 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
WiFi云数码相框:Nixplay
2018/07/05 全球购物
面向对象设计的原则是什么
2013/02/13 面试题
质量承诺书怎么写
2014/05/24 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
2015迎新晚会开场白
2015/07/17 职场文书
分布式架构Redis中有哪些数据结构及底层实现原理
2022/03/13 Redis