登录页面表单验证-利用jqueryajax实现实时刷新

登录页面表单验证-利用jqueryajax实现实时刷新

正在学习javaweb,最近刚写了一个表单验证的代码,放在博客里面记录,分享一下。

一、页面

博主还是初学者,前端部分的代码只能看懂一些基础,这里用的是尚硅谷的书城项目的页面,由于不是自己编写的所以就不放上来了。展示一下实现效果:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二、代码部分

客户端代码

$(function () {
			//利用ajax局部刷新
			//给用户名输入框绑定失去焦点事件
			$("#username").blur(function () {
				//利用DOM对象获取用户名
				var username = this.value;
				$.getJSON("http://localhost:8080/bookstore_project/userServlet",
                          "action=ajaxExistUsername&username=" + username,function (data) {
							if (data.existUsername){
								$("span.errorMsg").text("用户名已存在");
							}else {
								$("span.errorMsg").text("用户名可用");
							}
						});
			});
    //给密码输入框绑定失去焦点事件
			$("#password").blur(function () {
				var password = this.value;
				$.getJSON("http://localhost:8080/bookstore_project/userServlet",
                          "action=ajaxPassword&password=" + password,function (data) {
					if (data.ajaxPassword){
						$("span.errorMsg").text(" ");
					}else {
						$("span.errorMsg").text("密码不合法");
					}
				});
			});
    //给密码确认框绑定失去焦点事件
			$("#repwd").blur(function () {
				var password = $("#password").val();
				var rePassword = this.value;
				$.getJSON("http://localhost:8080/bookstore_project/userServlet",
                          "action=rePassword&password="+password
				+"&rePassword="+rePassword,function (data) {
					if (data.rePassword){
						$("span.errorMsg").text(" ");
					}else {
						$("span.errorMsg").text("密码不一致");
					}
				});
			});

servlet代码

//判断用户名是否已经存在
protected void ajaxExistUsername(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        //获取请求的参数
        String username = req.getParameter("username");
        //调用userService.existUsername
        boolean existUsername = userService.existUsername(username);//这里就是简单的通过调用service调用dao层进行数据库检索
        //把返回的结果封装成为map对象
        Map<String, Object> resultMap = new HashMap<>();
        resultMap.put("existUsername", existUsername);
    	//转化为json对象,这里用了谷歌的Gson.jar包
        Gson gson = new Gson();
        String json = gson.toJson(resultMap);
        resp.getWriter().write(json);
    }
//判断密码格式是否正确
    protected void ajaxPassword(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        String password = req.getParameter("password");
        //正则表达式
        String passwordPattern = "\\w{5,12}";
        Pattern pattern = Pattern.compile(passwordPattern);
        Matcher matcher = pattern.matcher(password);
        Map<String, Object> resultMap = new HashMap<>();
        resultMap.put("ajaxPassword", matcher.find());
        Gson gson = new Gson();
        String json = gson.toJson(resultMap);
        resp.getWriter().write(json);
    }
//判断两次密码输入是否一致
    protected void rePassword(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        String password = req.getParameter("password");
        System.out.println(password);
        String rePassword = req.getParameter("rePassword");
        Map<String, Object> resultMap = new HashMap<>();
        resultMap.put("rePassword", password.equals(rePassword));
        Gson gson = new Gson();
        String json = gson.toJson(resultMap);
        resp.getWriter().write(json);
    }

邮箱的验证和密码的验证几乎一样,这里就不放上来啦
欢迎评论区和博主一起讨论哦,大家一起学习,一起进步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值