js表单验证注册

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

js表单验证是js里面较为基础的操作。


代码实现部分

代码如下:

<!DOCTYPE html>
<html >
	<head>
		<meta charset="utf-8">
		<title>表单验证</title>
		<style type="text/css">
			span{
				color:red;
				font-size:12px;
			}
		</style>
	</head>
	<body background="1.jpg">
		<script type="text/javascript">
			window.onload=function(){
				
				var height=document.body.scrollHeight;
				      var logo_wrap=document.getElementById("userForm");
				      var margin_top=(height-5)/2;       //因为此div在页面中只用了一次且以后不会改变,所以写了数值,如果是不确定的,获取到高度放着这里就可以
				      logo_wrap.style.marginTop=margin_top+"px";
				
				//用户名设定
				//获取username的span标签
				var usernameErrorSpan=document.getElementById("usernameError");
				//给用户名文本框绑定blur事件
				var usernameElt=document.getElementById("username");
				//失去焦点事件
				usernameElt.onblur = function(){
						var username = usernameElt.value;
						//去除空白
						username=username.trim();
						if(username===""){
							usernameErrorSpan.innerText="用户名不能为空";
						}else{
							if(username.length<6||username.length>14){
								//用户名长度非法
								usernameErrorSpan.innerText="用户名长度必须在6-14中间"
							}else{
								//用户长度合法
								//判断是否有特殊符号(正则表达式判断)
								var regExp=/^[A-Za-z0-9]+$/;
								var ok=regExp.test(username);
								if(ok){
									//用户名合法
								}else{
									usernameErrorSpan.innerText="用户名必须为数字或者字母"
								}
							}
						}
				}
				usernameElt.onfocus = function(){		
					//清空非法value
					if(usernameErrorSpan.innerText !=""){
						usernameElt.value = "";
					}else{
						
					}
					usernameErrorSpan.innerText ="";
				}
				
				//密码设定
				//获取密码框对象
				var userpwdElt=document.getElementById("userpwd");
				//获取密码文本框后面报错
				var userpwdErrorSpan=document.getElementById("pwdError");
				//绑定blur事件
				userpwdElt.onblur=function(){
					//获取密码
					var userpwd=userpwdElt.value;
					//去除空白
					userpwd=userpwd.trim();
					if(userpwd===""){
						userpwdErrorSpan.innerText="密码不能为空";
					}else{
						if(userpwd.length<8||userpwd.length>14){
							//密码长度非法
							userpwdErrorSpan.innerText="密码长度必须在8-14中间"
						}else{
							
						}
					}
					
				}
				userpwdElt.onfocus = function(){
					//清空非法value
					if(userpwdErrorSpan.innerText !=""){
						userpwdElt.value = "";
					}else{
						
					}
					userpwdErrorSpan.innerText ="";
				}
				
				//确认密码
				//获取确认密码框对象
				var userpwd2Elt=document.getElementById("userpwd2");
				//确认密码文本框后面报错
				var userpwd2ErrorSpan=document.getElementById("pwd2Error");
				//绑定blur事件
				userpwd2Elt.onblur=function(){
					//获取密码和确认密码
					var userpwd2=userpwd2Elt.value;
					var userpwd=userpwdElt.value;
					if(userpwd!=userpwd2){
						userpwd2ErrorSpan.innerText="密码不一致";
					}else{
						//密码确认一致
						userpwd2ErrorSpan.innerText="";
					}
				}
				userpwd2Elt.onfocus = function(){
					//清空非法value
					if(userpwd2ErrorSpan.innerText !=""){
						userpwd2Elt.value = "";
					}else{
						
					}
					userpwd2ErrorSpan.innerText ="";
				}
				
				//邮箱验证
				//获取email的span标签
				var emailErrorSpan=document.getElementById("emailError");
				//给用户名文本框绑定blur事件
				var emailElt=document.getElementById("email");
				//失去焦点事件
				emailElt.onblur = function(){
						var email = emailElt.value;
						//去除空白
						email=email.trim();
						if(email===""){
							emailErrorSpan.innerText="邮箱不能为空";
						}else{
							//判断是否有特殊符号(正则表达式判断)
							var regExp2=/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
							var ok=regExp2.test(email);
							if(ok){
								//邮箱合法
							}else{
								emailErrorSpan.innerText="邮箱格式不正确"
							}
						}
				}
				emailElt.onfocus = function(){		
					//清空非法value
					if(emailErrorSpan.innerText !=""){
						emailElt.value = "";
					}else{
						
					}
					emailErrorSpan.innerText ="";
				}
				
				//给提交按钮绑定鼠标单击事件
				var submitBtnElt = document.getElementById("submitBtn");
				submitBtn.onclick=function(){
					//触发username的blur userpwd2的blur email的blur
					usernameElt.focus();
					usernameElt.blur();
					
					userpwdElt.focus();
					userpwdElt.blur();
					
					emailElt.focus();
					emailElt.blur();
					
					if(usernameErrorSpan=="" && userpwd2ErrorSpan=="" && userpwdErrorSpan=="" && emailErrorSpan==""){
						//获取表单对象
						var userFormElt = document.getElementById("userForm");
						//提交表单
						userFormElt.submit();
					}
				}
				
			}
		</script>
		
		<!--action="http://localhost:8080/js%20program/表单验证.html"-->
		<form id="userForm" action="http://localhost:8080/js program/表单验证" method="get">
			<div style="text-align:center;vertical-align:middel;">
			<font color="black" size="6">XXXX宿舍水电管理系统注册</font><br><br><br><br>
			用户名<input type="text" name="username" id="username" /><span id="usernameError"></span><br><br>
			密码<input type="text" name="userpwd" id="userpwd"/><span id="pwdError"></span><br><br>
			确认密码<input type="text" id="userpwd2" /><span id="pwd2Error"></span><br><br>
			邮箱<input type="text" name="email" id="email" /><span id="emailError"></span><br><br>
			<input type="submit" value="注册" id="submitBtn"  />
			<input type="reset" value="重置" />
			</div>
		</form>
	</body>
</html>

该处使用的url网络请求的数据。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值