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脚本调试方法小结
Nov 24 Javascript
jquery 打开窗口返回值实现代码
Mar 04 Javascript
jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)
May 24 Javascript
javascript循环变量注册dom事件 之强大的闭包
Sep 08 Javascript
JS中处理与当前时间间隔的函数代码
May 23 Javascript
js实现单一html页面两套css切换代码
Apr 11 Javascript
JS中Date日期函数中的参数使用介绍
Jan 02 Javascript
JS模式之简单的订阅者和发布者模式完整实例
Jun 30 Javascript
微信小程序 九宫格实例代码
Jan 21 Javascript
vue使用axios跨域请求数据问题详解
Oct 18 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
Feb 28 Javascript
JavaScript实现打字游戏
Feb 19 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
WHOIS类的修改版
2006/10/09 PHP
PHP 和 XML: 使用expat函数(二)
2006/10/09 PHP
PHP5+UTF8多文件上传类
2008/10/17 PHP
php文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
CI(CodeIgniter)框架介绍
2014/06/09 PHP
Javascript 数组排序详解
2014/10/22 Javascript
JavaScript中的继承方式详解
2015/02/11 Javascript
JS学习之表格的排序简单实例
2016/05/16 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
Vue项目添加动态浏览器头部title的方法
2018/07/11 Javascript
vue中关闭eslint的方法分析
2018/08/04 Javascript
原生JS实现的放大镜特效示例【测试可用】
2018/12/08 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
Python实现冒泡排序的简单应用示例
2017/12/11 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
Python Opencv实现图像轮廓识别功能
2020/03/23 Python
PyCharm导入python项目并配置虚拟环境的教程详解
2019/10/13 Python
python paramiko远程服务器终端操作过程解析
2019/12/14 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
2020/02/13 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
Python使用type动态创建类操作示例
2020/02/29 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
python2和python3哪个使用率高
2020/06/23 Python
Python 读取位于包中的数据文件
2020/08/07 Python
大学生年度自我鉴定
2013/10/31 职场文书
学习礼仪心得体会
2014/09/01 职场文书
世界红十字日活动总结
2015/02/10 职场文书
微信小程序 根据不同用户切换不同TabBar
2022/04/21 Javascript
Windows Server 2008配置防火墙策略详解
2022/06/28 Servers