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 相关文章推荐
jQuery 取值、赋值的基本方法整理
Mar 31 Javascript
node.js中的fs.lstat方法使用说明
Dec 16 Javascript
jQuery trigger()方法用法介绍
Jan 13 Javascript
jQuery实现表格行上下移动和置顶效果
Jun 05 Javascript
javascript制作照片墙及制作过程中出现的问题
Apr 04 Javascript
javascript 将共享属性迁移到原型中去的实现方法
Aug 31 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
Feb 09 Javascript
移动端使用localResizeIMG4压缩图片
Apr 22 Javascript
微信小程序登录session的使用
Mar 17 Javascript
vue使用websocket的方法实例分析
Jun 22 Javascript
vue 动态组件用法示例小结
Mar 06 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
Aug 31 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
咖啡豆分级制度 咖啡豆等级分类 咖啡豆是按口感分类的吗?
2021/03/05 新手入门
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
php+ajax实现文件切割上传功能示例
2020/03/03 PHP
javascript 表单规则集合对象
2009/07/21 Javascript
Pro JavaScript Techniques学习笔记
2010/12/28 Javascript
javascript实时获取鼠标坐标值并显示的方法
2015/04/30 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
全面了解javascript中的错误处理机制
2016/07/18 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
Electron-vue开发的客户端支付收款工具的实现
2019/05/24 Javascript
three.js 实现露珠滴落动画效果的示例代码
2021/03/01 Javascript
Python多线程学习资料
2012/12/19 Python
Python SQLite3数据库操作类分享
2014/06/10 Python
Python进阶篇之字典操作总结
2016/11/16 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
python+pandas生成指定日期和重采样的方法
2018/04/11 Python
详解基于python-django框架的支付宝支付案例
2019/09/23 Python
pytorch中tensor张量数据类型的转化方式
2019/12/31 Python
pytorch常见的Tensor类型详解
2020/01/15 Python
Python常用编译器原理及特点解析
2020/03/23 Python
python如何运行js语句
2020/09/09 Python
Python collections模块的使用方法
2020/10/09 Python
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
extern是什么意思
2016/03/10 面试题
《小松树和大松树》教学反思
2014/02/20 职场文书
企业法人授权委托书
2014/04/03 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
公司搬迁通知
2015/04/20 职场文书
Mysql忘记密码解决方法
2022/02/12 MySQL
【DOTA2】高能暴走TK秀!PSG LGD vs ASTER - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA