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 相关文章推荐
常用简易JavaScript函数
Apr 09 Javascript
jquery 常用操作整理 基础入门篇
Oct 14 Javascript
JavaScript面向对象之静态与非静态类
Feb 03 Javascript
JavaScript获取图片真实大小代码实例
Sep 24 Javascript
javascript数组输出的两种方式
Jan 13 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
Feb 19 Javascript
JavaScript设计模式经典之工厂模式
Feb 24 Javascript
对js中回调函数的一些看法
Aug 29 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
Jan 23 Javascript
jQuery快速高效制作网页交互特效
Feb 24 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
Oct 26 Javascript
深入详解JS函数的柯里化
Jun 09 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
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
东方红 - 来复式再生机的修复
2021/03/02 无线电
开发大型PHP项目的方法
2006/10/09 PHP
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
php mssql 数据库分页SQL语句
2008/12/16 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
curl和libcurl的区别简介
2015/07/01 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
2015/07/10 PHP
php设计模式之委托模式
2016/02/13 PHP
php实现当前页面点击下载文件的简单方法
2016/09/22 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
2016/10/29 PHP
PHP chr()函数讲解
2019/02/11 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
2019/03/06 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
Js中使用hasOwnProperty方法检索ajax响应对象的例子
2014/12/08 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
使用jQuery制作浮动工具栏的实例分享
2016/05/13 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
vue利用axios来完成数据的交互
2018/03/23 Javascript
简单了解vue中父子组件如何相互传递值(基础向)
2019/07/12 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
详解js中的原型,原型对象,原型链
2020/07/16 Javascript
JavaScript前端开发时数值运算的小技巧
2020/07/28 Javascript
用Python解决计数原理问题的方法
2016/08/04 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
Puppeteer使用示例详解
2019/06/20 Python
python为QT程序添加图标的方法详解
2020/03/09 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
2021/01/29 Python
CSS3 calc()会计算属性详解
2018/02/27 HTML / CSS
html5教程调用绘图api画简单的圆形代码分享
2013/12/04 HTML / CSS
C语言怎样定义和声明全局变量和函数最好
2013/11/26 面试题
料理师求职信
2014/01/30 职场文书
中国梦团日活动总结
2014/07/07 职场文书
大学生十八大感想
2015/08/11 职场文书
Python中super().__init__()测试以及理解
2021/12/06 Python
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技