您的位置:首页 > Web前端 > JQuery

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

2016-05-24 00:00 441 查看
var InterValObj; //timer变量,控制时间

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类型,当用户输入验证码后,和后台数据库的时间戳比较,看时间是否过期,如果过期,验证码无效,如果在有效期内,比较验证码是否相等

相等,则更新数据,并清空验证码,因为验证码是一次有效,不相等返回界面提示验证码不正确。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: