Ajax 验证用户输入的验证码是否与随机生成的一致

时间:2022-10-23 12:07:32

后台Java代码【验证码生成】

?
1
2
3
4
5
6
7
8
9
10
11
/**
 * 随机生成6位随机验证码
 */
 public static String createRandomVcode(){
 //验证码
 String vcode = "";
 for (int i = 0; i < 6; i++) {
  vcode = vcode + (int)(Math.random() * 9);
 }
 return vcode;
 }

后台Java代码【使用验证码并将验证码保存到session里面】

?
1
2
3
String authCode = xioo.createRandomVcode(); //随机生成验证码
HttpSession session=request.getSession();  //session属性
session.setAttribute("authCode", authCode); // 保存验证码到session里面

后台Java代码【将用户输入的验证码与session里面的验证码对比】

?
1
2
3
4
5
6
7
8
9
10
11
12
HttpSession session=request.getSession();
 String usercode=request.getParameter("user_code"); //获取用户输入的验证码
 String sessioncode=(String) session.getAttribute("authCode"); //获取保存在session里面的验证码
 String result="";
 if( usercode != null && usercode.equals(sessioncode)){ //对比两个code是否正确
  result = "1";
 }else{
  result = "0";
 }
 PrintWriter out = response.getWriter();
 out.write(result.toString()); //将数据传到前台
 }

前台Ajax代码【获取用户输入的代码传到后台】

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$(document).ready(function() {
 $("#user_code").blur(function() {
 var user_code = $("#user_code").val(); //ur事件
 // 向后台发送处理数据
 $.ajax({
  url : "CheckCode", //目标地址
  data : "user_code=" + user_code, //传输的数据
  type : "POST", // 用POST方式传输
  dataType : "text", // 数据格式
  success : function(data) {
  data = parseInt(data, 10);
  if (data == 1) {
   $("#error").html("<font color='#339933'>√ 短信验证码正确,请继续</font>");
  } else if (data == 0){
   $("#error").html("<font color='red'>× 验证码有误,请核实后重新填写</font>");
  }
  }
 });
 });
});

<input type="text" name="user_code" id="user_code" placeholder="请输入验证码"/>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持服务器之家!

原文链接:http://www.cnblogs.com/BobCoder/p/6421593.html