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

<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>
/*获取验证码*/
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);
}

 

posted @ 2018-01-23 19:14  李文和  阅读(156)  评论(0编辑  收藏  举报