用户注册 jsp 用户重复检测 + 非空检验

Java 专栏收录该内容
15 篇文章 0 订阅

输入form如下:

	<form action="register" method="post" οnsubmit="return checkForm(this)">
		用户名:<input type="text" name="account" id="account"
			οnblur="validateNotRepeatedAccount();">*
		<div id="accountInfo"></div>
		密码:<input type="password" name="password" id="password" />*<br>
		再次输入密码:<input type="password" name="repassword" id="repassword" />*<br>
		联系电话:<input type="text" name="telphone" id="telphone"><br>
		邮箱:<input type="text" name="mailbox" id="mailbox"><br> <input
			type="submit" value="注册" οnclick="false">
	</form>

1 用户名为空检测,两次密码输入不一致检测

	function checkForm(form) {
		if (form.account.value == "") {
			alert("用户名不能为空!");
			return false;
		} else if (form.password.value == "") {
			alert("密码不能为空!");
			return false;
		} else if (form.password.value != form.repassword.value) {
			alert("两次输入的密码不一致");
			return false;
		} else {
			return true;
		}
	}

2 用户名重复(查找数据库中是否已存在用户名)

	var xmlhttprequest = null;
	function validateNotRepeatedAccount() {
		if (window.ActiveXObject) {//IE浏览器  
			xmlhttprequest = new ActiveXObject("Microsoft.XMLHTTP");
		} else if (window.XMLHttpRequest) {
			xmlhttprequest = new XMLHttpRequest();
		}
		if (null != xmlhttprequest) {
			var text1 = document.getElementById("account").value;
			xmlhttprequest.open("POST", "registerValidate?account=" + text1, true);
			xmlhttprequest.onreadystatechange = ajaxcallback;
			xmlhttprequest.send(null);
		}
	}
	function ajaxcallback() {
		if (xmlhttprequest.readyState == 4) {
			if (xmlhttprequest.status == 200) {
				var text = xmlhttprequest.responseText;
				document.getElementById("accountInfo").innerHTML = text;
			}
		}
	}

上面的功能要求响应registerValidate,在controller配置

	@RequestMapping("/auth/registerValidate")
	public void registerValidater(HttpServletRequest request,
			HttpServletResponse response) {
		String account = "";
		PrintWriter out=null;
		try {
			request.setCharacterEncoding("gbk");
			response.setContentType("text/html;charset=gbk");
			out = response.getWriter();
			account = request.getParameter("account");
			System.out.println("account is:"+account+".");
			if(account==null||account==""){
				out.println("帐号不可为空");
			}else{
				User user = null;
				try {
					if(userService==null){
						System.out.println("userService is null");
					}else{
						user = userService.findUserByAccount(account);
					}
				} catch (Exception e) {
					e.printStackTrace();
				}
				if (user != null) {
					out.println("此帐号已被注册,请换一个!!");
				} else {
					out.println("恭喜您,这个帐号可以注册!");
				}
				out.close();			
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}


如果不用controller,也可采用Servlet

  • 2
    点赞
  • 1
    评论
  • 10
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值