jQuery手机验证码倒计时效果【转载】

比较常用的一种效果,当点击获取手机验证码之后,会有一个倒计时的效果,一般是60秒开始到0就变为“获取验证码”。

HTML代码:

<ul class="ulist">
<li class="group">
<label class="label" for="phone">联系电话:</label>
<div class="controls">
<input type="text" id="phone" class="txt">
</div>
</li>
<li class="group">
<label class="label" for="code">验证码:</label>
<div class="controls">
<input type="text" id="code" class="txt">
<button class="btn btn-small get-code" onclick="getCode(this)" id="J_getCode">获取验证码</button>
<button class="btn btn-small reset-code" id="J_resetCode" style="display:none;"><span id="J_second">60</span>秒后重发</button>
</div>
</li>
</ul>

 

jQuery代码:

/*获取验证码*/
var isPhone = 1;
function getCode(e){
    checkPhone(); //验证手机号码
    if(isPhone){
        resetCode(); //倒计时
    }else{
        $('#phone').focus();
    }
    
}
//验证手机号码
function checkPhone(){
    var phone = $('#phone').val();
    var pattern = /^1[0-9]{10}$/;
    isPhone = 1;
    if(phone == '') {
        alert('请输入手机号码');
        isPhone = 0;
        return;
    }
    if(!pattern.test(phone)){
        alert('请输入正确的手机号码');
        isPhone = 0;
        return;
    }
}
//倒计时
function resetCode(){
    $('#J_getCode').hide();
    $('#J_second').html('5');
    $('#J_resetCode').show();
    var second = 5;
    var timer = null;
    timer = setInterval(function(){
        second -= 1;
        if(second >0 ){
            $('#J_second').html(second);
        }else{
            clearInterval(timer);
            $('#J_getCode').show();
            $('#J_resetCode').hide();
        }
    },1000);
}

在线演示:http://img.caibaojian.com/uploads/2015/05/daojishi.html


 

转自:http://caibaojian.com/daojishi.html

posted @ 2018-01-05 14:25  什么,基地没了?  阅读(83)  评论(0编辑  收藏  举报