//timer处理函数
var InterValObj; //timer变量,控制时间
var count = 60; //间隔函数,1秒执行
var curCount;//当前剩余秒数

/**
 * 设置计时器
 * @constructor
 */
function SetRemainTime() {
    if (curCount == 0) {
        window.clearInterval(InterValObj);//停止计时器
        $("#get_code").removeAttr("disabled");//启用按钮
        $("#get_code").val("重新发送");
    }
    else {
        curCount--;
        $("#get_code").val(curCount + "后重新获取");
    }
}


/**
 * 发送短信验证码
 * @returns {boolean}
 */
$('#get_code').on('click', function (event, element) {
    event.preventDefault();

    // 向后台发送处理数据
    $.ajax({
        method  : 'POST',
        url     : WizUrls.get_phone_code,
        dataType: "json",
        data    : {
            'phone': $('form#modal-register #user_login').val()
        },
        success : function (data) {
            if (data.success === 0) {
                $('form#modal-register div.status').removeClass('alert-success').addClass('alert alert-danger').html(data.message);
                return false;
            } else {
                // 验证码发送成功后,启动计时器
                curCount = count;

                // 设置button效果,开始计时
                $(this).attr("disabled", "true");
                $(this).val(curCount + "后重新获取");

                InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次

                $('form#modal-register div.status').removeClass('alert-danger').addClass('alert alert-success').html(data.message);
                return true;
            }
        }
    });

    return false;
});

发送注册登录验证短信之后,前端后段的实现都有了,最后就是实现用户注册或登录了,这一步就是比较常规的操作了,根据用户的手机号,从数据库中取出验证码,和用户提交过来的验证码比对,如果一致,说明验证码正确,进行下一步的处理;如果不一致,说明验证码错误,提示用户验证码错误,让用户修正或者重新发送验证码。