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 相关文章推荐
js重写alert控件(适合学习js的新手朋友)
Aug 24 Javascript
纯js实现重发验证码按钮倒数功能
Apr 21 Javascript
node.js+express制作网页计算器
Jan 17 Javascript
EasyUI Pagination 分页的两种做法小结
Jul 09 Javascript
Bootstrap基本组件学习笔记之分页(12)
Dec 08 Javascript
thinkjs 文件上传功能实例代码
Nov 08 Javascript
vue父组件向子组件(props)传递数据的方法
Jan 02 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
Mar 19 Javascript
Vue请求JSON Server服务器数据的实现方法
Nov 02 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
Aug 08 Javascript
JavaScript实现简单计算器功能
Dec 19 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
Sep 05 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连接字符集的方法
2011/01/02 PHP
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
Javascript写入txt和读取txt文件示例
2014/02/12 Javascript
jquery实现滑动特效代码
2015/08/10 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
Bootstrap源码解读排版(1)
2016/12/23 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
荐书|您有一份JavaScript书单待签收
2017/07/21 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
Jquery异步上传文件代码实例
2019/11/13 jQuery
python实现一次创建多级目录的方法
2015/05/15 Python
python实现线程池的方法
2015/06/30 Python
十条建议帮你提高Python编程效率
2016/02/16 Python
利用python实现xml与数据库读取转换的方法
2017/06/17 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
Django shell调试models输出的SQL语句方法
2019/08/29 Python
python关于倒排列的知识点总结
2020/10/13 Python
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
秋季婚礼证婚词
2014/01/11 职场文书
家长建议怎么写
2014/05/15 职场文书
幼儿园八一建军节活动方案
2014/08/27 职场文书
评先进个人材料
2014/12/29 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
中学教师个人总结
2015/02/10 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书
运动会开幕式新闻稿
2015/07/17 职场文书
python中Pyqt5使用Qlabel标签播放视频
2022/04/22 Python