用于判断用户注册时,密码强度的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编程起步(第六课)
Feb 27 Javascript
Javascript注入技巧
Jun 22 Javascript
学习ExtJS accordion布局
Oct 08 Javascript
javascript 节点排序 2
Jan 31 Javascript
jquery仿百度经验滑动切换浏览效果
Apr 14 Javascript
全面解析Bootstrap中transition、affix的使用方法
May 30 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
Feb 15 Javascript
vue 不使用select实现下拉框功能(推荐)
May 17 Javascript
Node.js 实现远程桌面监控的方法步骤
Jul 02 Javascript
基于Layui自定义模块的使用方法详解
Sep 14 Javascript
Node.js API详解之 V8模块用法实例分析
Jun 05 Javascript
前端canvas中物体边框和控制点的实现示例
Aug 05 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
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
模仿OSO的论坛(四)
2006/10/09 PHP
destoon二次开发常用数据库操作
2014/06/21 PHP
php实现微信公众平台账号自定义菜单类
2015/10/11 PHP
Zend Framework校验器Zend_Validate用法详解
2016/12/09 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
简单的两种Extjs formpanel加载数据的方式
2013/11/09 Javascript
JS 去除Array中的null值示例代码
2013/11/20 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
jQuery中ajax的post()方法用法实例
2014/12/26 Javascript
Nginx上传文件全部缓存解决方案
2015/08/17 Javascript
js实现常用排序算法
2016/08/09 Javascript
D3.js实现饼状图的方法详解
2016/09/21 Javascript
JavaScript中三个等号和两个等号的区别(== 和 ===)浅析
2016/09/22 Javascript
详解VueJS 数据驱动和依赖追踪分析
2017/07/26 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
微信小程序图片自适应实现解析
2020/01/21 Javascript
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
python 将json数据提取转化为txt的方法
2018/10/26 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
澳大利亚最便宜的网上药房:Chemist Warehouse
2020/01/30 全球购物
介绍一下Linux文件的记录形式
2013/09/29 面试题
写给女朋友的道歉信
2014/01/08 职场文书
法学求职信
2014/06/22 职场文书
普通话宣传标语
2014/06/26 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
党小组考察意见
2015/06/02 职场文书
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS
关于使用Redisson订阅数问题
2022/01/18 Redis
golang生成vcf通讯录格式文件详情
2022/03/25 Golang