注册信息校验问题

注册信息校验问题

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>注册界面</title>
<%
   String isUserExist = (String)request.getParameter("isUserExist");
%>
<script>
//用户名
			function checkUser(){
			    var username=document.getElementById("username");
			    var re = /^[a-zA-Z_]{6,18}$/;
			    if(username.value==""){
			        alert("请输入用户名");
			        return false;
			    }
			    else if(username.value.length < 6 ||username.value.length > 18){
			        console.log(username.value);
			        alert("格式错误,长度应为6-18个字符");
			        return false;
			    }
			    else if(!re.test(username.value)){
			
			       alert("格式错误,只能包含英文字母和下划线");
			       return false;
			    }
			    else {
			         return true;
			    }
			}

		  function  checkPassWord(){
		      var psaaword = document.getElementById("password");
		      var checkPWD = document.getElementById("checkPWD");
		      if(null == password){
		    	  alert("密码不能为空");
		    	  return false;
		      }else if(password.length < 6 || password.length > 12){
		    	  alert("密码长度在6位到12位之间");
		    	  return false;
		      } else{
					  if(password!=checkPWD)
						{
							var flag = alert("两次输入密码不一致");
							if(flag){
							  document.getElementById("password").style.color = "red";
							  document.getElementById("checkPWD").style.color = "red";
							  return false;
							}
							
						}
					  return true;
		      }
		  }
		  
		  function checkPhone() { 
        	  var phone = document.getElementById("phone").value;
        	  if(phone == null){
        	       alert("电话不能为空");
        	       return false;
        	  }
        	  return true;
          }
		  <!--表单事件-->
		     function formsub(){

			        if(checkUser()&checkPassWord()&checkPhone()){
			             return true;
			        }else{
			            return  false;
			        }
			     }
		  
		 function isUserExist(){
			  var isUserExist = "<%=isUserExist%>"
			  if("1" == isUserExist){
				  alert("该用户名已经存在");
				  document.getElementById("user").style.color="red";
			  }else{
				  alert("注册成功");
			  }
		 } 
</script>
</head>
<body>
	<center>
		<h1>用户注册</h1>
		<form action="/BookStore/RegistServlet" method="post" onsubmit="return formsub()">
			<table width="400px" cellspacing="0px" cellpadding="0px" border="1px">
				<tr>
					<td>用户名</td>
					<td><input type="text" name="username" placeholder="用户名为3-12位字母数字或下划线组合" id="user" onblur="checkUser()"></td>
				</tr>
				<tr>
					<td>密&nbsp;码</td>
					<td><input type="password" name="password" placeholder="密码长度为6-12位的纯数字"  id="password"></td>
				</tr>
				<tr>
					<td>确认密码</td>
					<td><input type="password" name="checkPWD" placeholder="密码长度为6-12位的纯数字"  id="checkPWD"  onblur="checkPassWord()"></td>
				</tr>
				<tr>
					<td>手机号码</td>
					<td><input type="text" name="phone" placeholder="请输入正确的手机号码格式"  id="phone" onblur="checkPhone()"></td>
				</tr>
				<tr>
					<td>邮箱</td>
					<td><input type="email" name="email" placeholder="请输入正确邮箱格式" required="required"></td>
				</tr>
				<tr>
					<td colspan="2" style="text-align:center">
						<input type="submit" value="注册" >
						<input type="reset" value="重置">
					</td>
				</tr>
			</table>
		</form>
	</center>
	
</body>
</html>


正在回答

登陆购买课程后可参与讨论,去登陆

4回答

同学的id是user,不是username

http://img1.sycdn.imooc.com//climg/5c94c8bf0001b3fb12110127.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

提问者 Heisenberg_bo 2019-03-22 14:56:31

http://img1.sycdn.imooc.com//climg/5c94870900017da608610312.jpg

报错信息跟老师的一样

好帮手慕阿莹 2019-03-22 10:15:44

同学可以看一下报错信息是:

http://img1.sycdn.imooc.com//climg/5c9444c600015eb808270201.jpg

也就是说这个username是null,为什么是null呢?

因为script在元素的前边加载,当加载到这个var的时候,还没有加载到这个元素,同学把script 代码放到页面的最后</body>前边就可以的。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 Heisenberg_bo #1
    放在最后也是同样不起作用呀
    2019-03-22 14:21:37
  • 好帮手慕阿莹 回复 提问者 Heisenberg_bo #2
    同学在浏览窗口时按F12快捷键,看看浏览器的控制台是否有报错信息。请截图一下报错信息。老师测试是可以的。
    2019-03-22 14:27:18
  • 提问者 Heisenberg_bo #3
    function checkUser(){ var username=document.getElementById("username").value; console.log(username); 这样取用户名不对吗?为什么老是在.value时报错
    2019-03-22 14:39:07
提问者 Heisenberg_bo 2019-03-21 23:41:18

为啥js函数不起作用呀

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10204    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师