jquery实现验证码发送以及验证码的有效时间30分钟实现方式


var count = 60; //间隔函数,1秒执行
var curCount;//当前剩余秒数
var code = ""; //验证码
var codeLength = 6;//验证码长度
function sendMessage() {
    curCount = count;
    //产生验证码
for (var i = 0; i < codeLength; i++) {
  code += parseInt(Math.random() * 9).toString();
}
    //设置button效果,开始计时
    $("#btnSendCode").attr("disabled", "true");
    $("#btnSendCode").val("剩余"+curCount +"秒");
    InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
//向后台发送处理数据,并发送邮件
    (jQuery).ajax({
type : "POST",
dataType : "json",
url : mainServer + "/userCenter/sendVerifiCodeActive.jspa",//发送验证码邮件
data : {
'newBindEmail' : $('#bindWuEmail').val(),//传入参数
'verifyCode':code
},
success : function(data) {
//邮件已经成功发送,弹出框提示
}
});


   }



    //timer处理函数
function SetRemainTime() {
    if (curCount == 0) {                
        window.clearInterval(InterValObj);//停止计时器
        $("#btnSendCode").removeAttr("disabled");//启用按钮
        $("#btnSendCode").val("重新发送");
        code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效    
    }
    else {
        curCount--;
        /*$("#btnSendCode").val("请在" + curCount + "秒内输入验证码");*/
        $("#btnSendCode").val("剩余"+curCount +"秒");
    }

}



当用户前台点击获取验证码的时候,异步向后台发送验证码,后台获取验证码和当前服务器的时间戳,存入数据库,数据表用户表添加了两个字段,验证码字符串

验证码截止时间datetime类型,当用户输入验证码后,和后台数据库的时间戳比较,看时间是否过期,如果过期,验证码无效,如果在有效期内,比较验证码是否相等

相等,则更新数据,并清空验证码,因为验证码是一次有效,不相等返回界面提示验证码不正确。


        

转载于:https://my.oschina.net/star496481/blog/680230

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值