js实现点击按钮倒计时重新获取验证码
var authCount = 10; 倒计时时长
// 获取短信验证码
$('#authCode').click(function(){ //authCode是按钮的id
var $this = $(this);
if ($('#tel').data('state') != 1) { // || $this.data('state') == 1 之前条件的之一,存在冲突的条件,if永远成立
return false;
}
else{
var tel = $.trim($('#tel').val());
if (tel.length < 0) //可能存在用户直接在未写入电话的情况下直接获取短信验证码的情况。
{
errorFn(obj, '请输入手机号码'); //errorFn是自定义的的一个处理函数可以暂时不管
obj.data('state', '0');
}
// 这里执行验证发送
alert('发送验证码!'); //这里可以去调用后台发送验证码到手机端
$this.prop('disabled',true).data('state',1); //设置按钮在倒计时期间为不可用
authCode(); 执行倒计时
}
});
$('#tel').blur(function(){ // 手机号 tel是手机号码的输入框ID
var obj = $(this);
var val = $.trim(obj.val());
if(obj.data('checked') == true){
return;
}
if(val.length < 1){
errorFn(obj,'请输入手机号码');
obj.data('state','0');
}
else if(!/^1\d{10}$/.test(val)){
errorFn(obj,'手机号码格式错误');
obj.data('state','0');
}
else{
// 执行手机号是否已注册验证
alert('执行手机号是否已注册验证'); //执行重复注册的验证
if('a'=='a')
{
// 手机号可用
obj.data({'state':'1','checked':true});
successFn(obj);
}
else
{
// 手机号不可用
obj.data({'state':'0'});
errorFn(obj,'手机号码已注册');
}
}
}).change(function(){
$(this).data('checked',false);
});
function authCode(){
var auth = $('#authCode');
if(authCount > 0){
auth.html('重新获取<span>' + authCount-- + '秒</span>');
setTimeout(authCode,1000);
}
else{
authCount = 10;
auth.prop('disabled', false).data('state', 0).html('重新获取验证码');
}
}

浙公网安备 33010602011771号