专栏首页OECOMjs判断密码强度

js判断密码强度

在做管理系统是经常会遇到修改密码的情况,这时,我们需要检测用户输入的密码来判断密码的复杂程度,即密码强度,如下图

判断密码强度的原理其实就是判断用户输入密码的位数,包含输入字符的种类。一般情况下,用户输入的字符类型有字符、特殊字符和数字,一般情况下,密码的长度不应该小于四位。下面来看一下代码

<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>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java删除文件夹和文件

    1.通用的文件夹或文件删除方法,直接调用此方法,即可实现删除文件夹或文件,包括文件夹下的所有文件

    无邪Z
  • 判断手机号码归属于哪个运营商

    很多时候需要手机号进行注册,并且需要对手机号码归属于那个运营商做一下判断。先来说一下思路:首先,需要获取到用户输入的手机号码,然后将目前三大运营商运营的手机号码...

    无邪Z
  • 时间字符串和long类型之间的转换

    在进行时间存储时,经常会对时间字符串进行转型存储,一般都是存储为long类型,下面我先来说一下如何将时间字符串转换为long类型:

    无邪Z
  • Hystrix是个什么玩意儿

    Hystrix是Netflix的一个开源框架,地址如下:https://github.com/Netflix/Hystrix

    xcbeyond
  • 微分享回放 | Openstack虚拟云桌面在携程的应用

    【携程技术微分享】是携程技术中心推出的线上公开分享课程,每月1-2期,采用目前最火热的直播形式,邀请携程技术人,面向广大程序猿和技术爱好者,一起探讨最新的技术热...

    携程技术
  • 干货!UX设计师必知的7条设计法则全解析

    作为UI/UX设计师,除了专注视觉效果之外,更应该关注产品的易用性,可访问性以及交互方式。如果你没有遵循这些,那再好的设计也可能会被完全浪费。所以,为了改善咱们...

    用户5009027
  • three.js 制作机房(上)

    three.js使用的人太少了,一个博文就几百个人看,之前发js基础哪怕是d3都会有几千的阅读量,看看以后考虑说一说d3了,哈哈。吐槽完毕回归正题。前几天郭先生...

    郭先生的博客
  • 游戏素材怎么找?1 分钟教你获取一套漂亮的游戏素材!

    一、直接到 Chrome 扩展程序商店,在线搜索 SaveAllResources,点击安装(需科学上网);

    一枚小工
  • 浅谈动作识别TSN, TRN, ECO

    原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的。

    SIGAI学习与实践平台
  • 前端开发中的几种资源重定向方法

    嗯,但是为嘛需要这么做呢...... 这道题面试中也真有很多稀里糊涂做完类似的项目,却答不上来的小伙伴,那你自个儿寻思去吧~

    江米小枣

扫码关注云+社区

领取腾讯云代金券