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 相关文章推荐
JavaScript中函数声明优先于变量声明的实例分析
Mar 01 Javascript
使用Java实现简单的server/client回显功能的方法介绍
May 03 Javascript
浅谈document.write()输出样式
May 07 Javascript
jQuery遍历json的方法(推荐)
Jun 12 Javascript
详解AngularJS 模块化
Jun 14 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
Nov 30 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
Jul 08 Javascript
微信小程序sessionid不一致问题解决
Aug 30 Javascript
js 对象使用的小技巧实例分析
Nov 08 Javascript
微信小程序自定义头部导航栏(组件化)
Nov 15 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
Dec 30 Vue.js
Vue仿Bibibili首页的问题
Jan 21 Vue.js
实例详解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中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
2016/11/15 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
js操作ajax返回的json的注意问题!
2010/02/23 Javascript
用jquery实现下拉菜单效果的代码
2010/07/25 Javascript
js图片模糊切换显示特效的方法
2015/02/17 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
angularjs 缓存的使用详解
2018/03/19 Javascript
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
Vuejs监听vuex中值的变化的方法示例
2018/12/02 Javascript
通过JS运行机制的角度说说作用域
2019/03/12 Javascript
webpack自动打包和热更新的实现方法
2019/06/24 Javascript
解决vue无法侦听数组及对象属性的变化问题
2020/07/17 Javascript
详解如何使用React Hooks请求数据并渲染
2020/10/18 Javascript
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
2015/02/04 Python
python通过pil为png图片填充上背景颜色的方法
2015/03/17 Python
Python实现批量下载图片的方法
2015/07/08 Python
django请求返回不同的类型图片json,xml,html的实例
2018/05/22 Python
python traceback捕获并打印异常的方法
2018/08/31 Python
Python中的字符串切片(截取字符串)的详解
2019/05/15 Python
python pandas生成时间列表
2019/06/29 Python
python-numpy-指数分布实例详解
2019/12/07 Python
python传到前端的数据,双引号被转义的问题
2020/04/03 Python
浅谈Python3多线程之间的执行顺序问题
2020/05/02 Python
酒店销售主管岗位职责
2014/01/04 职场文书
政法学院毕业生求职信
2014/02/28 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
志愿者活动总结报告
2014/06/27 职场文书
体育教师求职信
2014/06/30 职场文书
中队活动总结
2014/08/27 职场文书
农业局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
2014年团队工作总结
2014/11/24 职场文书
委托证明范本
2014/11/25 职场文书
2014年销售人员工作总结
2014/11/27 职场文书
创业计划书之孕婴生活馆
2019/11/11 职场文书