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 相关文章推荐
ExtJS实现文件下载的方法实例
Nov 09 Javascript
JS执行删除前的判断代码
Feb 18 Javascript
深入解读JavaScript中的Iterator和for-of循环
Jul 28 Javascript
js制作可以延时消失的菜单
Jan 13 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
Mar 06 Javascript
详解vue-router和vue-cli以及组件之间的传值
Jul 04 Javascript
使用angular帮你实现拖拽的示例
Jul 05 Javascript
详解webpack中的hash、chunkhash、contenthash区别
Jan 05 Javascript
使用Vue动态生成form表单的实例代码
Apr 26 Javascript
vue中的router-view组件的使用教程
Oct 23 Javascript
小程序接口的promise化的实现方法
Dec 11 Javascript
Postman动态获取返回值过程详解
Jun 30 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
如何给phpadmin一个保护
2006/10/09 PHP
Laravel框架源码解析之入口文件原理分析
2020/05/14 PHP
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
IE6下js通过css隐藏select的一个bug
2010/08/16 Javascript
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
不得不分享的JavaScript常用方法函数集(上)
2015/12/23 Javascript
在JavaScript中模拟类(class)及类的继承关系
2016/05/20 Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
2016/09/14 Javascript
jquery实现图片列表鼠标移入微动
2016/12/01 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
2017/07/17 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
angular2系列之路由转场动画的示例代码
2017/11/09 Javascript
vue使用ajax获取后台数据进行显示的示例
2018/08/09 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
python中使用urllib2获取http请求状态码的代码例子
2014/07/07 Python
Python实现方便使用的级联进度信息实例
2015/05/05 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
使用Python+Splinter自动刷新抢12306火车票
2018/01/03 Python
酷! 程序员用Python带你玩转冲顶大会
2018/01/17 Python
python中不能连接超时的问题及解决方法
2018/06/10 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
2019/12/12 Python
Python yield的用法实例分析
2020/03/06 Python
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
正宗的日本零食和糖果订阅盒:Bokksu
2019/11/21 全球购物
人事助理岗位职责
2013/11/18 职场文书
英语感恩演讲稿
2014/01/14 职场文书
国际贸易毕业生求职信
2014/07/20 职场文书
焦裕禄精神心得体会
2014/09/02 职场文书
详解Laravel制作API接口
2021/05/31 PHP
教你用Java在个人电脑上实现微信扫码支付
2021/06/13 Java/Android