js点击按钮获取验证码倒计时

    //发送验证码倒计时
    var clock = '';
    var nums = 60;
    var btn;
    $("#btnGetVerCode").click(function () {
        var flag = true;
        var phoneNum = $("#txtPhoneNum").val();
        if (phoneNum.length == 11 && /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(14[0-9]{1})|)+d{8})$/.test(phoneNum)) {
            $.ajax({
                type: "post",
                url: "/CrmCenter/GetVerCode",
                dataType: "json",
                data: { phoneNum: phoneNum },
                success: function (data) {
                    if (data == 0) {
                        alert("该手机用户不存在!");
                    }
                    else if (data == 1) {
                        alert("验证码发送失败,请联系技术人员!");
                    }
                    else {
                        alert("验证码已发送,请注意查收!");
                    }
                },
                error: function () {
                    flag = false;
                    alert("验证码发送失败!");
                }
            });
        } else {
            flag = false;
            alert("请输入正确的手机号!");
        }
        //如果已成功发送验证码 则进入倒计时
        if (flag) {
            btn = this;
            btn.disabled = true; //将按钮置为不可点击
            btn.value = nums + 's';
            clock = setInterval(doLoop, 1000); //一秒执行一次
        }
    });

    function doLoop() {
        nums--;
        if (nums > 0) {
            btn.value = nums + 's';
        } else {
            clearInterval(clock); //清除js定时器
            btn.disabled = false;
            btn.value = '获取验证码';
            nums = 60; //重置时间
        }
    }
原文地址:https://www.cnblogs.com/blazeZzz/p/8384275.html