js实现密码强度检测【附示例】


Posted in Javascript onMarch 30, 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>

第二个实例:

<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>

以上这篇js实现密码强度检测【附示例】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
自己使用jquery写的一个无缝滚动的插件
Apr 30 Javascript
html文档中的location对象属性理解及常见的用法
Aug 13 Javascript
AngularJS 使用 UI Router 实现表单向导
Jan 29 Javascript
Node.js的Koa框架上手及MySQL操作指南
Jun 13 Javascript
jQuery自适应轮播图插件Swiper用法示例
Aug 24 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
Sep 06 Javascript
基于canvas粒子系统的构建详解
Aug 31 Javascript
jquery之基本选择器practice(实例讲解)
Sep 30 jQuery
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
Oct 21 Javascript
详解关于Vuex的action传入多个参数的问题
Feb 22 Javascript
Vue如何循环提取对象数组中的值
Nov 18 Vue.js
JS实现纸牌发牌动画
Jan 19 Javascript
原生javascript实现的一个简单动画效果
Mar 30 #Javascript
纯js代码制作的网页时钟特效【附实例】
Mar 30 #Javascript
JS 实现倒计时数字时钟效果【附实例代码】
Mar 30 #Javascript
详解JavaScript for循环中发送AJAX请求问题
Jun 23 #Javascript
Jquery判断form表单数据是否变化
Mar 30 #Javascript
基于javascript实现tab选项卡切换特效调试笔记
Mar 30 #Javascript
javascript实现数字倒计时特效
Mar 30 #Javascript
You might like
针对初学PHP者的疑难问答(2)
2006/10/09 PHP
CodeIgniter php mvc框架 中国网站
2008/05/26 PHP
PHP函数之日期时间函数date()使用详解
2013/09/09 PHP
php中session与cookie的比较
2015/01/27 PHP
php获取访问者浏览页面的浏览器类型
2017/01/23 PHP
javascript编程起步(第五课)
2007/01/10 Javascript
javascript自执行函数之伪命名空间封装法
2010/12/25 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
jQuery oLoader实现的加载图片和页面效果
2015/03/14 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
基于jquery实现简单的分页控件
2016/03/17 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
2016/05/16 Javascript
js动态添加的DIV中的onclick事件简单实例
2016/07/25 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
2018/10/18 Javascript
详解Vue组件之作用域插槽
2018/11/22 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
浅谈Vue.set实际上是什么
2019/10/17 Javascript
Python的多维空数组赋值方法
2018/04/13 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
python中random模块详解
2021/03/01 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
锐步英国官网:Reebok英国
2019/11/29 全球购物
英语道歉信范文
2014/01/09 职场文书
幼儿园亲子活动总结
2014/04/26 职场文书
工作证明范本(2篇)
2014/09/14 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
资料员岗位职责范本
2015/04/13 职场文书
刑事辩护词范文
2015/05/21 职场文书
2016年教师学习廉政准则心得体会
2016/01/20 职场文书