表单的正则判断

邮差的信 提交于 2020-01-16 03:02:16

前端页面中表单的正则判断,其中包括姓名、手机号、邮箱等,根据页面功能来定。下面是对姓名、手机号、邮箱的正则判断。
当输入框失焦时,判断输入的内容正确与否;若为空或格式有误,
一、在输入框下面提示相应的信息
HTML:

<div class="index_con">
	<div class="index_ipt">
		<div class="ipt name">
			<label>姓名</label>
			<input class="ipt_name" type="text" name="name" id="name" placeholder="请输入您的姓名" />
			<span class="span1"></span>
		</div>
		<div class="ipt tel">
			<label>手机</label>
			<input class="ipt_phone" type="text" name="tel" id="tel" placeholder="请输入您的手机号" />
			<span class="span2"></span>
		</div>
		<div class="ipt email">
			<label for="">电子邮件</label>
			<input class="ipt_email" type="text" placeholder="请输入您的邮箱" />
			<span class="span3"></span>
		</div>
		<input class="apply" type="submit" name="" id="" value="立即申请" />
		<span class="txt"></span>
	</div>
</div>

CSS:

input {
	border: 0;
}
label {
	display: inline-block;
}
.index_con {
	width: 90%;
	margin: 0 auto;
	padding-bottom: 30px;
}
.index_ipt {
	margin: 20px auto 0;
}
.index_ipt>div {
	margin-bottom: 30px;
}
.index_ipt span {
	color: #fff;
	font-size: 14px;
	display: block;
	padding: 10px 0;
}
.index_ipt div.ipt {
	height: 45px;
	background-color: #fafafa;
	padding: 5px 0;
	box-sizing: border-box;
}
.index_ipt div.ipt label {
	text-align: center;
	line-height: 30px;
}
.ipt.name label,
.ipt.tel label {
	width: 20%;
}
.ipt.address label {
	width: 30%;
}
.index_ipt div.ipt input {
	line-height: 30px;
	height: 100%;
	background-color: #fafafa;
	resize: none;
	color: #333;
	font-size: 16px;
}
.ipt.name input,
.ipt.tel input {
	width: 75%;
}
.ipt.address input {
	width: 65%;
}
.index_ipt div.ipt input:focus {
	border: 1px solid #b69c61;
}
::-webkit-input-placeholder {
	/* WebKit browsers */
	color: #888;
	font-size: 16px;
}
:-moz-placeholder {
	/* Mozilla Firefox 4 to 18 */
	color: #888;
	font-size: 16px;
}
::-moz-placeholder {
	/* Mozilla Firefox 19+ */
	color: #888;
	font-size: 16px;
}
:-ms-input-placeholder {
	/* Internet Explorer 10+ */
	color: #888;
	font-size: 16px;
}

JS:

<script type="text/javascript">
	//正则
	var name1 = document.querySelector(".ipt_name");
	var span1 = document.querySelector(".span1");
	var phone = document.querySelector(".ipt_phone");
	var span2 = document.querySelector(".span2");
	var phone = document.querySelector(".ipt_email");
	var span2 = document.querySelector(".span3");
	var tj1 = false;
	var tj2 = false;
	var tj3 = false;
	//姓名
	var re_name = /^[\u4E00-\u9FA5]{2,4}$/;
	name1.onblur = function() {
		var str = this.value;
		if(re_name.test(str)) {
			var tj1 = true;
			span1.innerHTML = "";
		} else {
			span1.innerHTML = "输入格式有误";
		}
		if(str == "") {
			span1.innerHTML = "请输入姓名";
		}
	}
	//手机号
	var re_phone = /^[1]([3-9])[0-9]{9}$/;
	phone.onblur = function() {
		var str = this.value;
		if(re_phone.test(str)) {
			var tj2 = true;
			span2.innerHTML = "";
		} else {
			span2.innerHTML = "输入格式有误";
		}
		if(str == "") {
			span2.innerHTML = "请输入手机号";
		}
	}
	//邮箱
	var re_name = /^[a-z]\w{5,17}$/i;
	name1.onblur = function() {
		var str = this.value;
		if(re_name.test(str)) {
			var tj1 = true;
			span1.innerHTML = "";
		} else {
			span1.innerHTML = "输入格式有误";
		}
		if(str == "") {
			span1.innerHTML = "请输入邮箱";
		}
	}
	var apply = document.querySelector(".apply");
	var txt = document.querySelector(".index_ipt .txt");
	apply.onclick = function() {
		var str1 = name1.value;
		var str2 = phone.value;
		if(str1 == "" || str2 == ""|| str3 == "") {
			txt.innerHTML = "请填入完整的信息";
		} else {
			txt.innerHTML = "";
		}
	}
</script>

二、弹出框提示相应的信息

如有错误请各位大神评论指教……

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!