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:window.onload的使用介绍
Nov 13 Javascript
Javascript学习指南
Dec 01 Javascript
JS动画效果打开、关闭层的实现方法
May 09 Javascript
javascript父子页面通讯实例详解
Jul 17 Javascript
基于jQuery实现响应式圆形图片轮播特效
Nov 25 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
Jan 26 Javascript
JavaScript+html5 canvas实现本地截图教程
Apr 16 Javascript
微信小程序 animation API详解及实例代码
Oct 08 Javascript
JavaScript 数组的深度复制解析
Nov 02 Javascript
微信小程序实现图片轮播及文件上传
Apr 07 Javascript
LayUI数据接口返回实体封装的例子
Sep 12 Javascript
swiper实现异形轮播效果
Nov 28 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 可阅读随机字符串代码
2010/05/26 PHP
php中OR与|| AND与&amp;&amp;的区别总结
2013/10/26 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
Javascript实现的分页函数
2007/02/07 Javascript
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
解决bootstrap中modal遇到Esc键无法关闭页面
2015/03/09 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
js实现星星打分效果的方法
2020/07/05 Javascript
实例详解Nodejs 保存 payload 发送过来的文件
2016/01/14 NodeJs
Javascript中级语法快速入手
2016/07/30 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
requirejs按需加载angularjs文件实例
2017/06/08 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
puppeteer实现html截图的示例代码
2019/01/10 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
[01:11:46]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第一场 2月23日
2021/03/11 DOTA
对python特殊函数 __call__()的使用详解
2019/07/02 Python
Python使用lambda表达式对字典排序操作示例
2019/07/25 Python
通俗易懂了解Python装饰器原理
2020/09/17 Python
python 爬取百度文库并下载(免费文章限定)
2020/12/04 Python
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
商务考察邀请函模板
2015/02/02 职场文书
学习保证书100字
2015/02/26 职场文书
怎样写观后感
2015/06/19 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
优秀的商业计划书,让融资一步到位
2019/05/07 职场文书
Nginx下配置Https证书详细过程
2021/04/01 Servers
dubbo集成zipkin获取Traceid的实现
2021/07/26 Java/Android