用于判断用户注册时,密码强度的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 相关文章推荐
如何在标题栏显示框架内页面的标题
Feb 03 Javascript
JavaScript中的noscript元素属性位置及作用介绍
Apr 11 Javascript
js转义字符介绍
Nov 05 Javascript
JavaScript导出Excel实例详解
Nov 25 Javascript
JavaScript事件委托技术实例分析
Feb 06 Javascript
JavaScript的代码编写格式规范指南
Dec 07 Javascript
jQuery中使用animate自定义动画的方法
May 29 Javascript
详解从新建vue项目到引入组件Element的方法
Aug 29 Javascript
vue中mint-ui的使用方法
Apr 04 Javascript
angularjs手动识别字符串中的换行符方法
Oct 02 Javascript
Vue项目自动转换 px 为 rem的实现方法
Oct 29 Javascript
JS原型对象操作实例分析
Jun 06 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_SELF的安全问题
2009/09/05 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
js实现iframe动态调整高度的代码
2008/01/06 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
layui实现三级联动效果
2019/07/26 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
2020/10/09 Javascript
深入理解Python分布式爬虫原理
2017/11/23 Python
Python工程师面试必备25条知识点
2018/01/17 Python
mac PyCharm添加Python解释器及添加package路径的方法
2018/10/29 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
python各类经纬度转换的实例代码
2019/08/08 Python
python库matplotlib绘制坐标图
2019/10/18 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
关于TensorFlow新旧版本函数接口变化详解
2020/02/10 Python
python实现处理mysql结果输出方式
2020/04/09 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
2021/03/04 Python
css3实现3d旋转动画特效
2015/03/10 HTML / CSS
荟萃全球保健品:维他购
2018/05/09 全球购物
Java面试题:为什么要用Java
2012/05/11 面试题
皮肤科医师岗位职责
2013/12/04 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
开业庆典主持词
2014/03/21 职场文书
党建工作经验交流材料
2014/05/25 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
2015年测量员工作总结
2015/05/23 职场文书
导游词之四川武侯祠
2019/10/21 职场文书