密码验证

6 篇文章 0 订阅
5 篇文章 0 订阅

用户在创建一个账户时,需要设置一个密码。密码的复杂程度是安全的保障之一,但是有些用户在设置密码时,总是把密码设置的过于简单,导致用户账户的安全存在威胁。因此,为了提高用户账户的安全性,添加了一个JavaScript正则表达式验证密码复杂度的验证功能。

效果图是仿照腾讯企业邮箱修改密码时的验证方式-修改密码效果图:
在这里插入图片描述

我把它扣了下来,可能效果不如腾讯企业邮的,但是效果还是实现了。没有添加常见密码的验证。
代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
	<style>
		.rules_check_wrap{ 
			position:absolute; 
			top:274px; 
			left:50%; 
			margin-left:-14px; 
			text-align:left; 
			background:#fff; 
			padding:10px; 
			font-size:12px; 
			color:#494949; 
			border-radius:5px; 
			border:1px solid #bbb; 
			box-shadow:0px 0px 5px #ccc;
		}
		.rules_check_wrap h3{ 
			font-weight:bold; 
			color:#232323; 
			margin:0; 
			padding:5px 0 5px 19px; 
			font-size:12px; 
			height:14px; 
			line-height:14px;
		}
		.rules_check_wrap li{ 
			height:14px; 
			line-height:14px; 
			padding:4px 0;
		}
		.icon_rules_check{ 
			float:left; 
			height:14px; 
			width:14px; 
			margin:-2px 4px 0 -10px; 
			background:url(./img/none.png) no-repeat;
		}
		.rules_check_pass{
			opacity:.6;
			filter:alpha(opacity=60);
		}
		.arrow_l, .arrow_r{
			position:absolute;
			top:0;
			left:0;
			margin-top:54px;
			margin-left:-20px;
			display:block; 
			width:0; 
			height:0; 
			font-size:0; 
			overflow:hidden; 
			border:10px solid transparent; 
			_border-color:tomato; 
			_filter:chroma(color=tomato);
		}
		.arrow_l{ 
			border-right-color:#bbb;
		}
		.arrow_r{ 
			border-right-color:#fff; 
			margin-left:-19px;
		}
		.rules_check_wrap{
			display:none;
			left:584px;
			top:85px;
			z-index:10;
		}
		.rules_check_wrap ul{
			list-style:none;
			padding:1px 10px;
			margin:1px;
		}
		.rules_check_pass .icon_rules_check{ 
			background:url(./img/pass.png) 0px 2px no-repeat;
		}
		.rules_check_fail .icon_rules_check{
			background:url(./img/fail.png) 0px 2px no-repeat;
		}
		.rules_check_pass{
			opacity:.6;
			filter:alpha(opacity=60);
		}
	</style>
</head>
<body class="tbody" onload="">
	<script>
		$(function(){
		  	$("#newsecpwd").focus(function(){
		    	$(".rules_check_wrap").css("display","block");
		  	});
		  	$("#newsecpwd").blur(function(){
		  		$(".rules_check_wrap").css("display","none");
		  	});
		});
		function onchangpwd(){
	  		// var newpwd = document.getElementById("newsecpwd").value;
	  		var newpwd = $("#newsecpwd").val();
	  		var user = 'admin';
	  		if(newpwd != ''){
	  			//判断是否同时包含大写字母、小写字母和数字
                var baohan =/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/;
                if(baohan.test(newpassword)){
                    $(".rules_check_wrap ul li:eq(0)").removeClass();
                    $(".rules_check_wrap ul li:eq(0)").addClass("rules_check_pass");
                }else{
                    $(".rules_check_wrap ul li:eq(0)").removeClass();
                    $(".rules_check_wrap ul li:eq(0)").addClass("rules_check_fail");
                    $("input[name='repassword']").attr('disabled','true');
                }

                //密码长度判断
                if(newpassword.length < 6 && newpassword.length > 0 || newpassword.length > 18){
                    $(".rules_check_wrap ul li:eq(1)").removeClass();
                    $(".rules_check_wrap ul li:eq(1)").addClass("rules_check_fail");
                    $("input[name='repassword']").attr('disabled','true');
                }else if(newpassword.length >=6 && newpassword.length <=18){
                    $(".rules_check_wrap ul li:eq(1)").removeClass();
                    $(".rules_check_wrap ul li:eq(1)").addClass("rules_check_pass");
                }else if(newpassword.length == 0){
                    $(".rules_check_wrap ul li:eq(1)").removeClass();
                    $("input[name='repassword']").attr('disabled','true');
                }

                //判断是否存在账户信息和空格
                if(/admin/.test(newpassword)){
                    $(".rules_check_wrap ul li:eq(2)").removeClass();
                    $(".rules_check_wrap ul li:eq(2)").addClass("rules_check_fail");
                    $("input[name='repassword']").attr('disabled','true');
                }else if(/\s/.test(newpassword)){
                    $(".rules_check_wrap ul li:eq(2)").removeClass();
                    $(".rules_check_wrap ul li:eq(2)").addClass("rules_check_fail");
                    $("input[name='repassword']").attr('disabled','true');
                }else{
                    $(".rules_check_wrap ul li:eq(2)").removeClass();
                    $(".rules_check_wrap ul li:eq(2)").addClass("rules_check_pass");
                }

                if((baohan.test(newpassword)) && (newpassword.length >=6 && newpassword.length <=18) && !(/admin/.test(newpassword)) && !(/\s/.test(newpassword))){
                    $("input[name='repassword']").removeAttr('disabled');
                }
		  		//判断是否存在常见密码
	  		}else{
	  			$("ul li").removeClass();
	  		}
	  	}
	</script>
	<div style="padding: 85px 104px;">
		<span id="modifypwd">
			<div style="margin:15px 0 8px 75px;"> 
				原密码:<input type="password" id="oldsecpwd" name="oldsecpwd" class="txt" size="34">
			</div>
			<div valid="password" style="margin-left:75px;margin-bottom:8px;" class=""> 
				新密码:<input type="password" id="newsecpwd" name="newsecpwd" class="txt" size="34" oninput="onchangpwd()" onpaste="return false;">
			</div>
			<div style="margin-left:75px;">
				重输密码:<input type="password" id="newsecpwd2" name="newsecpwd2" class="txt" size="34" onpaste="return false;">
			</div>
		</span>
		<div class="rules_check_relative">
			<div class="rules_check_wrap">
				<span class="rules_check_arrow">
					<span class="arrow_l"></span>
					<span class="arrow_r"></span>
				</span>
				<h3>密码需满足以下要求:</h3>
				<ul>
					<li class="">
						<span class="icon_rules_check"></span>同时包含大写字母、小写字母和数字
					</li>
					<li class="">
						<span class="icon_rules_check"></span>密码长度为 6-18 个字符
					</li>
					<li class="">
						<span class="icon_rules_check"></span>不包含帐户信息与空格
					</li>
					<!-- <li class="">
						<span class="icon_rules_check"></span>不是常见密码
					</li> -->
				</ul>
			</div>
		</div>
	</div>
</body>
</html>

外加放在IMG文件夹下的三张图片:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

效果图:
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值