js密码强度检测


Posted in Javascript onJanuary 07, 2016

本文实例讲解了js密码强度检测的实现代码,分享给大家供大家参考,具体内容如下

运行效果图:

js密码强度检测

这段JavaScript代码比较实用,它完成用户注册时判断用户输入密码的强度,分强、弱、中三等级,它可以根据用户输入的密码显示对应的密码强弱等级,方便用户改进输入。

实现代码:

<html>
<head>
<title>JS判断密码强度</title>
<script language=javascript> 
//判断输入密码的类型 
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; 
} 
//返回强度级别 
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); 
} 
 
//显示颜色 
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>
</head>
<body> 
<form name=form1 action="" > 
密码:<input type=password size=8 onKeyUp=pwStrength(this.value) onBlur=pwStrength(this.value)> 
<br>密码强度: 
<table width="210" border="1" cellspacing="0" cellpadding="1" bordercolor="#eeeeee" height="22" style='display:inline'> 
<tr align="center" bgcolor="#f5f5f5"> 
<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密码强度检测

具体内容:

<script>
function AuthPasswd(string) {
 if(string.length >=6) {
  if(/[a-zA-Z]+/.test(string) && /[0-9]+/.test(string) && /\W+\D+/.test(string)) {
   noticeAssign(1);
  }else if(/[a-zA-Z]+/.test(string) || /[0-9]+/.test(string) || /\W+\D+/.test(string)) {
   if(/[a-zA-Z]+/.test(string) && /[0-9]+/.test(string)) {
    noticeAssign(-1);
   }else if(/\[a-zA-Z]+/.test(string) && /\W+\D+/.test(string)) {
    noticeAssign(-1);
   }else if(/[0-9]+/.test(string) && /\W+\D+/.test(string)) {
    noticeAssign(-1);
   }else{
    noticeAssign(0);
   }
  }
 }else{
  noticeAssign(null); 
 }
}
 
function noticeAssign(num) {
 if(num == 1) {
  $('#weak').css({backgroundColor:'#009900'});
  $('#middle').css({backgroundColor:'#009900'});
  $('#strength').css({backgroundColor:'#009900'});
  $('#strength').html('很强');
  $('#middle').html('');
  $('#weak').html('');
 }else if(num == -1){
  $('#weak').css({backgroundColor:'#ffcc33'});
  $('#middle').css({backgroundColor:'#ffcc33'});
  $('#strength').css({backgroundColor:''});
  $('#weak').html('');
  $('#middle').html('中');
  $('#strength').html('');
 }else if(num ==0) {
  $('#weak').css({backgroundColor:'#dd0000'});
  $('#middle').css({backgroundColor:''});
  $('#strength').css({backgroundColor:''});
  $('#weak').html('弱');
  $('#middle').html('');
  $('#strength').html('');
 }else{
  $('#weak').html(' ');
  $('#middle').html(' ');
  $('#strength').html(' ');
  $('#weak').css({backgroundColor:''});
  $('#middle').css({backgroundColor:''});
  $('#strength').css({backgroundColor:''});
 }
}
</script>

以上就是本文的全部内容,希望对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
JS获取父节点方法
Aug 20 Javascript
关于二级域名下使用一级域名下的COOKIE的问题
Nov 07 Javascript
javascript模块化是什么及其优缺点介绍
Sep 02 Javascript
使用js解决由border属性引起的div宽度问题
Nov 26 Javascript
js中自定义方法实现停留几秒sleep
Jul 11 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
May 17 Javascript
JS实现JSON.stringify的实例代码讲解
Feb 07 Javascript
关于TypeScript模块导入的那些事
Jun 12 Javascript
详解jQuery中的getAll()和cleanData()
Apr 15 jQuery
Node.js 多进程处理CPU密集任务的实现
May 26 Javascript
layui插件表单验证提交触发提交的例子
Sep 09 Javascript
WEB前端性能优化的7大手段详解
Feb 04 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
Jan 07 #Javascript
基于JavaScript实现通用tab选项卡(通用性强)
Jan 07 #Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
Jan 07 #Javascript
JavaScript设计模式初探
Jan 07 #Javascript
JavaScript类型系统之Object详解
Jan 07 #Javascript
7个去伪存真的JavaScript面试题
Jan 07 #Javascript
jQuery表格插件datatables用法详解
Nov 23 #Javascript
You might like
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
漂亮的thinkphp 跳转页封装示例
2019/10/16 PHP
ext实现完整的登录代码
2008/08/08 Javascript
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
JavaScript Promise启示录
2014/08/12 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
2016/01/12 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
Vue实现动态显示textarea剩余字数
2017/05/22 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
基于JavaScript实现微信抢红包功能
2017/07/20 Javascript
微信小程序promsie.all和promise顺序执行
2017/10/27 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
2018/12/10 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
2019/07/31 Javascript
JS实现横向轮播图(中级版)
2020/01/18 Javascript
JavaScript中条件语句的优化技巧总结
2020/12/04 Javascript
Python代理抓取并验证使用多线程实现
2013/05/03 Python
Django中使用group_by的方法
2015/05/26 Python
Python实现分割文件及合并文件的方法
2015/07/10 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
python字符串与url编码的转换实例
2018/05/10 Python
工商企业管理应届生求职信
2013/11/03 职场文书
行政办公员自我评价分享
2013/12/14 职场文书
大学活动总结范文
2014/04/29 职场文书
优秀共产党员先进事迹材料
2014/05/06 职场文书
农村党员对照检查材料
2014/09/24 职场文书
投诉书格式范本
2015/07/02 职场文书
毕业酒会致辞
2015/07/29 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
正能量励志演讲稿三分钟(范文)
2019/07/11 职场文书
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android
Python可变集合和不可变集合的构造方法大全
2021/12/06 Python
Python matplotlib可视化之绘制韦恩图
2022/02/24 Python