用于判断用户注册时,密码强度的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 相关文章推荐
下拉菜单点击实现连接跳转功能的js代码
May 19 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
Jun 24 Javascript
javascript实现列表切换效果
May 02 Javascript
jQuery实现手机版页面翻页效果的简单实例
Oct 05 Javascript
javascript中的后退和刷新实现方法
Nov 10 Javascript
使用DeviceOne实现微信小程序功能
Dec 29 Javascript
JS正则获取HTML元素的方法
Mar 31 Javascript
Ionic + Angular.js实现图片轮播的方法示例
May 21 Javascript
ZeroClipboard.js使用一个flash复制多个文本框
Jun 19 Javascript
Vue引入sass并配置全局变量的方法
Jun 27 Javascript
vuex直接赋值的三种方法总结
Sep 16 Javascript
详解vue路由篇(动态路由、路由嵌套)
Jan 27 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
收音机发烧友应当熟知的100条知识
2021/03/02 无线电
PHP用身份证号获取星座和生肖的方法
2013/11/07 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
浅谈php错误提示及查错方法
2015/07/14 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
PHP中$GLOBALS与global的区别详解
2019/03/21 PHP
超简单的jquery的AJAX用法
2010/05/10 Javascript
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
2014/03/12 Javascript
JS基于Mootools实现的个性菜单效果代码
2015/10/21 Javascript
jQuery+css实现炫目的动态块漂移效果
2016/01/28 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
2016/11/29 Javascript
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
JS二级菜单不同实现方法分析【4种方法】
2018/12/21 Javascript
JS中的一些常用的函数式编程术语
2019/06/15 Javascript
node 文件上传接口的转发的实现
2019/09/23 Javascript
js实现电灯开关效果
2021/01/19 Javascript
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python脚本实现分析dns日志并对受访域名排行
2014/09/18 Python
python使用nntp读取新闻组内容的方法
2015/05/08 Python
Python实现深度遍历和广度遍历的方法
2019/01/22 Python
django框架模板语言使用方法详解
2019/07/18 Python
Python实现自定义读写分离代码实例
2019/11/16 Python
PyCharm第一次安装及使用教程
2020/01/08 Python
CSS3 mask 遮罩的具体使用方法
2017/11/03 HTML / CSS
英国领先的男士服装和时尚零售商:Burton
2017/01/09 全球购物
英国现代家具和装饰网站:PN Home
2018/08/16 全球购物
XD健身器材:Kevlar球、Crossfit健身球
2019/03/26 全球购物
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
文体活动实施方案
2014/03/27 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
大学生助学金感谢信
2015/01/21 职场文书
四年级作文之植物
2019/09/20 职场文书
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis