使用jQuery进行登录注册的前端校验

经常,我们会遇到需要登陆注册的情况
当用户名和密码不正确的时候,会显示提示
当注册的时候操作不正确的时候,会显示提示
那么这个是怎么实现的呢
现在,让我们来写个小案例实现一下这个功能!

<script src="<%=request.getContextPath() %>/js/jquery-validation-1.14.0/lib/jquery-1.11.1.js"></script>
<script src="<%=request.getContextPath() %>/js/jquery-validation-1.14.0/dist/jquery.validate.min.js"></script>
<script type="text/javascript">
/* 实现前端校验 
 * 注意:要实现前端校验,首先要先引入前端校验的js文件
	     需要引入的有一个jQuery框架和校验包
 */
 
$().ready(function(){
	//获取表单id
	$("#registerForm").validate({
		rules:{
			username:"required",	//当用户名为空的时候
			password:"required",
			password_confirm:{
				required:true,
				equalTo:"#password"
			},
			realname:"required",
			cardcode:"required"
		},
		messages:{
			username:"请输入用户名", //显示提示内容
			password:"请输入密码",
			password_confirm:{
				required:"请输入密码",
				equalTo:"两次输入的密码不一致"
			},
			realname:"请输入真实姓名",
			cardcode:"请输入证件号码"
		}
	})
})
</script>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用 jQuery 实现前端校验的示例代码。前端校验的主要目的是为了在用户提交数据到后端之前,对数据进行简单的格式检查和必填项检查。这样可以减轻后端的负担,同时也可以提高用户体验。 这个示例代码中,我们使用jQuery 的选择器来获取表单中的各个字段,然后使用 if 语句进行校验。如果校验不通过,就使用 jQuery 的 `alert()` 方法提示用户。如果校验通过,就发送 Ajax 请求到后端。 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jQuery前端校验示例</title> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script> $(function () { $('#submit').click(function () { var username = $('#username').val(); var password = $('#password').val(); var sex = $('#sex').val(); var hobbies = $('input[name=hobby]:checked').val(); if (username == '') { alert('用户名不能为空'); return false; } if (password == '') { alert('密码不能为空'); return false; } else if (!/^\d{6}$/.test(password)) { alert('密码必须是6位数字'); return false; } if (sex == '') { alert('性别不能为空'); return false; } if (hobbies == undefined) { alert('兴趣爱好不能为空'); return false; } // 发送 Ajax 请求到后端 $.ajax({ url: '/register', type: 'post', data: { username: username, password: password, sex: sex, hobbies: hobbies }, success: function (res) { alert('注册成功'); }, error: function (xhr, status, error) { alert('注册失败:' + error); } }); return false; }); }); </script> </head> <body> <form> <div> <label>用户名:</label> <input type="text" name="username" id="username"> </div> <div> <label>密码:</label> <input type="password" name="password" id="password"> </div> <div> <label>性别:</label> <select name="sex" id="sex"> <option value=""></option> <option value="male">男</option> <option value="female">女</option> </select> </div> <div> <label>兴趣爱好:</label> <input type="checkbox" name="hobby" value="music">音乐 <input type="checkbox" name="hobby" value="film">电影 <input type="checkbox" name="hobby" value="sport">运动 </div> <div> <input type="submit" value="注册" id="submit"> </div> </form> </body> </html> ``` 对于后端的校验,您可以在 Java 中使用正则表达式来实现。以下是一个简单的 Java Servlet 示例代码,用于接收前端发送的 Ajax 请求,并对数据进行后端校验。如果校验不通过,可以向前端返回错误信息。 ```java import java.io.IOException; import java.io.PrintWriter; import java.util.regex.Pattern; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class RegisterServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); String username = request.getParameter("username"); String password = request.getParameter("password"); String sex = request.getParameter("sex"); String hobbies = request.getParameter("hobbies"); // 后端校验 if ("zhangsan".equals(username)) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "用户名不合法"); return; } if (!Pattern.matches("\\d{6}", password)) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "密码不合法"); return; } if (!"male".equals(sex)) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "性别不合法"); return; } if (hobbies == null || hobbies.isEmpty()) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "兴趣爱好不能为空"); return; } // 打印注册信息 System.out.println("用户名:" + username); System.out.println("密码:" + password); System.out.println("性别:" + sex); System.out.println("兴趣爱好:" + hobbies); PrintWriter out = response.getWriter(); out.println("success"); out.close(); } } ``` 这里使用了 Java 的正则表达式校验密码是否是6位数字。如果不是,就返回一个错误。当然,您可以根据实际需求修改正则表达式的规则。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值