js密码强度校验


Posted in Javascript onNovember 10, 2015

现在很多论坛和博客都在用户注册时添加了验证密码强度的功能,在以前的文章中,我们曾经给出过一段检验密码强度的例子,今天再看一个与《js密码强度校验》的代码。

效果:

js密码强度校验

<html>
<head>
<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 /= 2;
 }
 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;
}
</script>

</head>

<body>

<form>
输入密码:<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="20">
 <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>

</body>
</html>

以上就是为大家分享的js密码强度校验的全部代码,希望对大家的学习有所帮助。

Javascript 相关文章推荐
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
Sep 22 Javascript
div+css布局的图片连续滚动js实现代码
May 04 Javascript
jQuery.Validate 使用笔记(jQuery Validation范例 )
Jun 25 Javascript
jquery实现的鼠标下拉滚动置顶效果
Jul 24 Javascript
JavaScript编程中的Promise使用大全
Jul 28 Javascript
jQuery ajaxForm()的应用
Oct 14 Javascript
深入理解JavaScript中的for循环
Feb 07 Javascript
canvas实现简易的圆环进度条效果
Feb 28 Javascript
基于EasyUI的基础之上实现树形功能菜单
Jun 28 Javascript
node中使用es5/6以及支持性与性能对比
Aug 11 Javascript
JS实现小球的弹性碰撞效果
Nov 11 Javascript
Ant Design Pro 下实现文件下载的实现代码
Dec 03 Javascript
详解javascript函数的参数
Nov 10 #Javascript
JavaScript函数的一些注意要点小结及js匿名函数
Nov 10 #Javascript
javascript实现五星评分功能
Nov 10 #Javascript
javascript实现密码验证
Nov 10 #Javascript
JavaScript编程的单例设计模讲解
Nov 10 #Javascript
js数组常见操作及数组与字符串相互转化实例详解
Nov 10 #Javascript
浅谈javascript中replace()方法
Nov 10 #Javascript
You might like
php将图片保存入mysql数据库失败的解决方法
2014/12/27 PHP
php中判断数组相等的方法以及数组运算符介绍
2015/03/30 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
PHP函数按引用传递参数及函数可选参数用法示例
2018/06/04 PHP
PDO::getAttribute讲解
2019/01/28 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
jquery对表单操作2
2011/04/06 Javascript
Javascript alert消息换行的方法
2013/08/07 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
jquery 删除节点 添加节点 找兄弟节点的简单实现
2016/12/07 Javascript
JavaScript实现经纬度转换成地址功能
2017/03/28 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
2018/09/27 Javascript
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
微信小程序template模版的使用方法
2019/04/13 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)
2018/04/27 Python
python利用递归方法实现求集合的幂集
2020/09/07 Python
关于Python错误重试方法总结
2021/01/03 Python
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
介绍下Java中==和equals的区别
2013/09/01 面试题
建筑工程技术应届生自荐信
2013/09/27 职场文书
客户经理岗位职责
2013/12/08 职场文书
优秀员工评语
2014/02/10 职场文书
领导干部廉政承诺书
2014/03/27 职场文书
鉴定评语大全
2014/05/05 职场文书
慈善晚会策划方案
2014/05/14 职场文书
党的群众路线教育实践活动教师自我剖析材料
2014/10/09 职场文书
工作简报怎么写
2015/07/21 职场文书
校园安全教育心得体会
2016/01/15 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
详解ZABBIX监控ESXI主机的问题
2022/06/21 Servers