【Ajax】后台验证用户输入的验证码是否与随机生成的验证码一直

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

  /**
     * 随机生成6位随机验证码
     */
    public static String createRandomVcode(){
        //验证码
        String vcode = "";
        for (int i = 0; i < 6; i++) {
            vcode = vcode + (int)(Math.random() * 9);
        }
        return vcode;
    }
    

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

 String authCode = xioo.createRandomVcode();        //随机生成验证码

HttpSession session=request.getSession();             //session属性
session.setAttribute("authCode", authCode);     // 保存验证码到session里面

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

        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代码【获取用户输入的代码传到后台】

 $(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="请输入验证码"/>
原文地址:https://www.cnblogs.com/BobCoder/p/6421593.html