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实现查找字符串中第一个不重复的字符
Dec 29 Javascript
Javascript毫秒数用法实例
Feb 05 Javascript
ECMAScript6块级作用域及新变量声明(let)
Jun 12 Javascript
javascript倒计时效果实现
Nov 12 Javascript
JavaScript判断微信浏览器实例代码
Jun 13 Javascript
Javascript获取随机数的实现方法
Jun 22 Javascript
js利用正则表达式检验输入内容是否为网址
Jul 05 Javascript
axios发送post请求springMVC接收不到参数的解决方法
Mar 05 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
Apr 21 Javascript
微信小程序实用代码段(收藏版)
Dec 17 Javascript
jquery将信息遍历到界面上实例代码
Jan 21 jQuery
原生JavaScript实现购物车
Jan 10 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 strstr查找字符串中是否包含某些字符的查找函数
2010/06/03 PHP
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
基于header的一些常用指令详解
2013/06/06 PHP
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
运用jquery实现table单双行不同显示并能单行选中
2009/07/25 Javascript
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
2010/11/14 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
iScroll中事件点击触发两次解决方案
2015/03/11 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
2018/10/11 Javascript
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
利用python获取Ping结果示例代码
2017/07/06 Python
pandas 小数位数 精度的处理方法
2018/06/09 Python
Python操作MySQL数据库的方法
2018/06/20 Python
详解mac python+selenium+Chrome 简单案例
2019/11/08 Python
Python 列表的清空方式
2020/01/13 Python
python交互模式基础知识点学习
2020/06/18 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
中国领先的汽车保养服务平台:途虎养车
2019/10/18 全球购物
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
生产部经理岗位职责
2013/12/16 职场文书
证券期货行业个人的自我评价
2013/12/26 职场文书
中专生职业生涯规划书范文
2014/01/10 职场文书
经理管理专业毕业自荐书范文
2014/02/12 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
党支部鉴定意见
2015/06/02 职场文书
一个家长教育孩子的心得体会
2016/01/15 职场文书
MySQL基础(二)
2021/04/05 MySQL
GPU服务器的多用户配置方法
2022/07/07 Servers