JavaScript学习笔记(校验注册)

第一种(效验后在右边以红色文字提示,再加上alert提醒,用正则表达式匹配邮箱,使用document.getElementByID获取元素的value)

.在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			function checkusername(username){
				console.log(username);
				console.log(username.value);
				if(username.value.length<3||username.value.length>10){
					alert("用户名必须是3-10位");
					wrongname.innerText="用户名输入错误";
					err()
					ispass=false;
				}else wrongname.innerText="";
			}
			function checkemail(email){
				var p=/^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/;
				if(p.test(email.value)==false){
					alert("请输入正确的邮箱!");
					wrongemail.innerText="邮箱输入错误";
					err()
					ispass=false;
				}else wrongemail.innerText="";
			}

			function err(){
					var err=document.getElementById("error");
					var errvalue=err.value
					err.value=err.value+1
					lock();
			}
			function lock(){
					var errorvalue=document.getElementById("error")
					if(errorvalue.value>5){
						var regbu=document.getElementById("resbu")
						regbu.disabled=true
					}
				}
			function checkpass(pass){
				var repass=document.getElementById("repassword").value;
				var passmsg=document.getElementById("wrongpass").value;
				var repassmsg=document.getElementById("wrongrepass").value;
				if(pass.value.length<3||pass.value.length>10){
					alert("密码必须是3-10位");
					wrongpass.innerText="密码输入错误";
					wrongrepass.innerText="确认密码输入错误";
					err()
					ispass=false;
				}else if(repass!=pass.value){
						alert("请输入密码和确认密码相等");
						wrongrepass.innerText="确认密码输入错误";
						err()
						ispass=false;
						}else{
							wrongpass.innerText="";
							wrongrepass.innerText="";
						}
			}
		</script>
	</head>
	<body>
		
		<form action="sdf.jsp" onsubmit="false">
				<table border="1",width="500px",height="700px">
					<input type="hidden" name="" id="error" value="0" />
						<tr>
							<td>用户名</td><td><input type="text" placeholder="请输入你的用户名" id="username" onblur="checkusername(this)"/>
							<font color="red" id="wrongname"></font></td>
						</tr>
						<tr>
							<td>邮箱</td><td><input type="text" id="email" placeholder="请输入你的邮箱" onblur="checkemail(this)"/>
							<font color="red" id="wrongemail"></font></td>
						</tr>
						<tr>
							<td>密码</td><td><input type="password" placeholder="请输入你的密码" id="password" onblur="checkpass(this)"/>
							<font color="red" id="wrongpass"></font></td>
						</tr>
						<tr>
							<td>确认密码</td><td><input type="password" placeholder="请输入你的确认密码" id="repassword" />
							<font color="red" id="wrongrepass"></font></td>
						</tr>
						<tr>
							<td colspan="2" align="center"><input type="reset" value="重置"><input type="submit" value="注册" id="resbu"></td>
						</tr>
		</form>
	</body>
</html>

第二种(效验后仅通过alert提醒,通过document.getElementById获取元素value值使用eg作为命名空间,把函数都存储在里面(减少“环境污染”))

在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style></style>
	</head>
	<body>
		<form method="POST" onsubmit="return eg.check();">
			
				<input type="hidden" name="" id="error" value="0" />
				<br>账户:<input type="text" name="" id="userid" value="" /></br>
				<br>密码:<input type="password" name="" id="pwid" value="" /></br>
				<br>确认:<input type="paaword" name="" id="pwid2" value="" /></br>
				<br>性别:<input type="radio" name="sex" id="sex"  value="1" /><input type="radio" name="" value="0" /></br>
				<br>年龄:<select name="" id="age">
							<option value="0" selected="selected">请选择年龄段</option>
							<option value="1">18岁以下</option>
							<option value="2">18-22</option>
							<option value="3">22-40</option>
							<option value="4">40-60</option>
							<option value="5">60以上</option>
						<select>
				</br>
				<br>爱好:<input type="checkbox" name="like" value="1" />
				唱歌<input type="checkbox" name="like" value="2" />
				打篮球<input type="checkbox" name="like" value="3" />
				舞蹈<input type="checkbox" name="like" value="4" />
				编程<input type="checkbox" name="like" value="5" />
				</br>
				<br>简介:<textarea name="" rows="10" cols="25" id="discription"></textarea></br>
				<br><input type="submit" name="" id="regbut" value="注册" /></br>
		</form>
	</body>
</html>
<script type="text/javascript">
			var eg={}
			eg.$=function(id){
				return document.getElementById(id)
			}
			eg.check=function(){
				var uid=eg.$("userid")
				var upwd=eg.$("pwid")
				var upwd2=eg.$("pwid2")
				var sex=eg.$("sex")
				var dis=eg.$("discription")
				var age=eg.$("age")
				var likes=document.getElementsByClassName("like")
				var likenum=0
				for(var n=0;n<likes.length;n++){
					if(likes[n].checked){
						likenum++
					}
				}
				if (uid.value==""){
					alert("用户名不能为空")
					eg.error()
					
				}
				if (upwd.value==""){
					alert("密码不能为空")
					eg.error()
					
				}
				if(upwd2.value!=upwd.value){
					alert("两次密码输出入不相同")
					eg.error()
					
				}
				if(sex.value!=1||sex.value!=0){
					alert("请选择你的性别")
					eg.error()
					
				}
				if(dis.value.length>100){
					alert("简介太长了")
					eg.error()
					
				}
				if(age.value>5||age.value<1){
					alert("请选择你的年龄段")
					eg.error()
					
				}
				if(likenum==0){
					alert("请至少选择一个爱好")
					eg.error()
					return false
				}
				return true
			}
			eg.error=function(){
				var err=document.getElementById("error");
				var errvalue=err.value
				err.value=err.value+1
				eg.lock();
			}
			eg.lock=function(){
				var errorvalue=eg.$("error")
					if(errorvalue.value>5){
						var regbu=eg.$("regbut")
						regbu.disabled=true
					}
			}
		</script>


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值