用于判断用户注册时,密码强度的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下4个跨浏览器必备的函数
Mar 07 Javascript
jQuery 源码分析笔记(7) Queue
Jun 19 Javascript
jQuery代码优化 遍历篇
Nov 01 Javascript
前后台交互过程中json格式如何解析以及如何生成
Dec 26 Javascript
一个简单的jquery的多选下拉框(自写)
May 05 Javascript
js+html5绘制图片到canvas的方法
Jun 05 Javascript
JS实现弹性漂浮效果的广告代码
Sep 02 Javascript
基于jQuery实现左右图片轮播(原理通用)
Dec 24 Javascript
Vue.js动态组件解析
Sep 09 Javascript
jQuery动态修改字体大小的方法【测试可用】
Sep 09 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
Mar 15 Javascript
react 兄弟组件如何调用对方的方法示例
Oct 23 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
PHP个人网站架设连环讲(二)
2006/10/09 PHP
apache php模块整合操作指南
2012/11/16 PHP
PHP中exec函数和shell_exec函数的区别
2014/08/20 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
PHP return语句另类用法不止是在函数中
2014/09/17 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
PHP pear安装配置教程
2016/05/14 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
2009/11/26 Javascript
简单实用的反馈表单无刷新提交带验证
2013/11/15 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
2015/05/14 Javascript
jQuery实现文本框邮箱输入自动补全效果
2015/11/17 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
使用node.js搭建服务器
2017/05/20 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
2017/09/20 jQuery
详解webpack+express多页站点开发
2017/12/22 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
layui实现数据表格点击搜索功能
2020/03/26 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
2020/07/26 Javascript
[06:10]6.81新信使新套装!给你一个炫酷的DOTA2
2014/05/06 DOTA
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
python根据txt文本批量创建文件夹
2020/12/08 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
2020/02/28 Python
Python 实现一行输入多个数字(用空格隔开)
2020/04/29 Python
如何理解python中数字列表
2020/05/29 Python
Python configparser模块操作代码实例
2020/06/08 Python
Java中实现多态的机制是什么?
2014/12/07 面试题
简述进程的启动、终止的方式以及如何进行进程的查看
2013/07/12 面试题
教你打造完美的创业计划书
2014/01/06 职场文书
俄罗斯商务邀请函
2014/01/26 职场文书
小学教师评语大全
2014/04/23 职场文书
绿色出行口号
2014/06/18 职场文书
班级文化标语
2014/06/23 职场文书
2015医德医风个人工作总结
2015/04/02 职场文书
MySQL 原理优化之Group By的优化技巧
2022/08/14 MySQL