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="请输入验证码"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值