form的驗證包括手機號郵箱等等


$(function(){
    var checkedByVerifyCode = false;
    var checkMobieCode = false;
    var checkedMobile = false;
    var checkedEmail = false;
    var checkedLoginName = false;

    window.captcha = function(obj) {
       obj.src = "/captcha/index.do?randdate=" + Math.random();
    }

    window.checkcode = function(){
        if($("#login_code").val()==""){
            $('#verify_code_error').html("<div class='member-error-message'>*請輸入正確的驗證碼!</div>");
            $('#verify_code_error').show(400);
        } else {
            $('#verify_code_error').html("");
            $('#verify_code_error').hide(400);
        }
    }

    function distoshow(e,ltime){
        e.attr('disabled',true);
        var lefttime = parseInt(ltime);
        var tmpstr = e.attr("value");
        var tmpt = setInterval(function(){
            lefttime--;
            if(lefttime > 0){
                e.attr("value",lefttime + "秒后重新發送");
            }else{
                e.attr('value',tmpstr);
                e.attr('disabled',false);
                clearInterval(tmpt);
                return;
            }
        },1000);
    }

    //驗證密碼
    function checkPass(passWord){
        var memberPass = /^[a-zA-Z0-9_]{6,20}$/;
        //var memberPass = /^(?=.*[0-9].*)(?=.*[a-zA-Z].*).{6,20}$/;
        var numPass = /^[0-9]+$/;
        if(passWord == ''){
            $("#passWord").empty().hide();
            $("#MemberBase_pass_em_").empty().append('*密碼不能空!').show();
            return false;
        }
        if(numPass.test(passWord)){
            $("#passWord").empty().hide();
            $("#MemberBase_pass_em_").empty().append('*密碼不能為純數字!').show();
            return false;
        }else{
            $("#MemberBase_pass_em_").empty().hide();
        }
        var pass = memberPass.test(passWord);
        if(!pass){
            $("#passWord").empty().hide();
            $("#MemberBase_pass_em_").empty().append('*密碼必須包含字母和數字且必須在6-20個字符以內!').show();
            return false;
        }else{
            $("#MemberBase_pass_em_").empty().hide();
            return true;
        }
    }

    //校驗密碼確認
    function checkPassRepeat(Password,PasswordRepeat){
        if(Password != PasswordRepeat){
            $("#MemberBase_pass_repeat_em_").empty().append('*確認密碼輸入不一致!').show();
            return false;
        }else{
            $("#MemberBase_pass_repeat_em_").empty().hide();
            return true;
        }
    }

    //校驗驗證碼
    function checkVerifyCode(verifyCode,email){
        $.post("/member/checkEmailCode.do",{ verifyCode:verifyCode,email:email},function(json){
            
            if(json.status){
                $("#MemberBase_verifyCode_em_").empty().hide();
                checkedByVerifyCode = true;
                return true;
            }else{
                
                $("#MemberBase_verifyCode_em_").empty().append('*'+json.statusinfo).show();
                checkedByVerifyCode = false;
                return false;
            }
        },'json');
    }
    
    //用戶名檢驗
    $('.login_name').focusout(function(){
        var loginName = $.trim($('.login_name').val());
        if(loginName == ''){
            $("#loginName").empty().hide();
            $('#member_UserName').empty().hide();
            $("#MemberBase_login_name_em_").empty().append('*賬戶名不能為空').show();
            return false;
        }
        $.post("/member/checkLoginName.do",
            { loginName:loginName  },function(json){
                if(json.status){
                    $("#MemberBase_login_name_em_").empty().hide();
                    checkedLoginName = true;
                    return true;
                }else{
                    $("#loginName").empty().hide();
                    $('#member_UserName').empty().hide();
                    $("#MemberBase_login_name_em_").empty().append('*'+json.statusinfo).show();
                    checkedLoginName = false;
                    return false;
                }
            },'json');
    });

    //用戶密碼校驗
    $('.member_pass').focusout(function(){
          var passWord = $.trim($('.member_pass').val());
          checkPass(passWord);
    });

    //密碼確認校驗
    $('.member_pass_repeat').focusout(function(){
        var Password = $.trim($('.member_pass').val());
        var PasswordRepeat = $.trim($('.member_pass_repeat').val());
        $(this).closest('td').find('.message-error').remove();
        checkPassRepeat(Password, PasswordRepeat);
    });

    //手機號碼校驗
    $('.member_mobile').focusout(function(){
        var mobile = $.trim($('.member_mobile').val());
        var phoneReg=/^0?1[3584][0-9][0-9]{8}$/;
        if(!phoneReg.test(mobile)){
            $("#MemberBase_mobile_em_").empty().append('*請確認輸入的是手機號').show();
            return false;
        }else{
            $("#MemberBase_mobile_em_").empty().hide();
        }
        $('#getPhoneCode').unbind('click');
        $('#getPhoneCode').click(function(){
            $.post("/member/mobileToken.do",{ mobile: mobile },function(json){
                if(json.status){
                    distoshow($('#getPhoneCode'),60);
                    checkedMobile = true;
                    $('#mobile_token').attr('value',json.mobile_token);
                    $('#check_token').attr('value',json.check_token);
                    $('#registeType').attr('value','mobile');
                }else{
                    $("#MemberBase_mobile_em_").empty().append('*'+json.statusinfo).show();
                    checkedMobile = false;
                    return false;
                }
            },'json');
        });
    });

    //手機驗證碼校驗
    $('.mobile_code').focusout(function(){
        var mobileCode = $.trim($('.mobile_code').val());
        var mobile = $.trim($('.member_mobile').val());
        $.post("/member/checkMobileCode.do",{ mobileCode:mobileCode,mobile:mobile},function(json){
            if(json.status){
                $("#MemberBase_mobile_code_em_").empty().hide();
                checkMobieCode = true;
                $('#validateByClient').val('true');
            }else{
                $("#MemberBase_mobile_code_em_").empty().append('*'+json.statusinfo).show();
                checkMobieCode = false;
                return false;
            }
        },'json');
    });

    //用戶郵箱驗證
    $('.member_email').focusout(function(){
        var email = $.trim($('.member_email').val());
        var emailReg=/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
        if(!emailReg.test(email)){
            $("#MemberBase_email_em_").empty().append('*請確認輸入的是郵箱').show();
            return false;
        }else{
            $("#MemberBase_email_em_").empty().hide();
        }
        $.post("/member/checkEmail.do",{email:email},function(json){
            if(json.status){
                $("#MemberBase_email_em_").empty().hide();
                checkedEmail = true;
                return true;
            }else{
                $("#MemberBase_email_em_").empty().append('*'+json.statusinfo).show();
                checkedEmail = false;
                return false;
            }
        },'json');
    });

    //校驗碼驗證
    $('.register_box .verifyCode').change(function(){
        var verifyCode = $.trim($(this).val());
        var email = $.trim($('.member_email').val());
        $.post("/member/checkEmailCode.do",{verifyCode:verifyCode,email:email},function(json){
            if(json.status){
                $("#MemberBase_verifyCode_em_").empty().hide();
                checkedByVerifyCode = true;
                $('#validateByClient').val(true);
                return true;
            }else{
                $("#MemberBase_verifyCode_em_").empty().append('*'+json.statusinfo).show();
                checkedByVerifyCode = false;
                return false;
            }
        },'json');
    });

    //校驗協議
    $('#MemberBase_rules').click(function(){
     if(!$("#MemberBase_rules").attr("checked")){
        $("#MemberBase_rules_em_").empty().append('*您必須同意該協議').show();
     }else{
        $("#MemberBase_rules_em_").empty().hide();
     }
    });

    //校驗協議
    function checkRules(){
        if(!$("#MemberBase_rules").attr("checked")){
            $("#MemberBase_rules_em_").empty().append('*您必須同意該協議').show();
            return false;
        }else{
            $("#MemberBase_rules_em_").empty().hide();
            return true;
        }
    }

    //表單提交驗證
    $('form').submit(function(){
        var loginName = $.trim($('.login_name').val());
        var passWord = $.trim($('.member_pass').val());
        var Password = $.trim($('.member_pass').val());
        var PasswordRepeat = $.trim($('.member_pass_repeat').val());
        var mobile = $.trim($('.member_mobile').val());
        var mobileCode = $.trim($('.mobile_code').val());
        var verifyCode = $.trim($('.register_box .verifyCode').val());
        var email = $.trim($('.member_email').val());
        var index = $.trim($('#index').val());

        if(loginName == '' || !checkedLoginName){
            $("#MemberBase_login_name_em_").empty().append('*賬戶名錯誤').show();
            $("#loginName").empty();
            $('#member_UserName').empty().hide();
            return false;
        }else{
            $("#MemberBase_login_name_em_").empty().hide();
        }
        if(!checkPass(passWord)){
            return false;
        }
        if(!checkPassRepeat(Password, PasswordRepeat)){
            return false;
        }
        if(index == 1){
            if(mobileCode == '' || !checkMobieCode){
                $("#MemberBase_mobile_code_em_").empty().append('*驗證碼錯誤').show();
                return false;
            }else{
                $("#MemberBase_mobile_code_em_").empty().hide();
            }
        }
        if(index == 2){
            if($('.member_email').val() == '' || !checkedEmail){
                $("#MemberBase_email_em_").empty().append('*請確認輸入的是郵箱!').show();
                return false;
            }else{
                $("#MemberBase_email_em_").empty().hide();
            }
            //驗證碼讀取驗證碼是否為空,如果為空視為不合法
            if($('.register_box .verifyCode').val() == '' || !checkedByVerifyCode){
                $("#MemberBase_verifyCode_em_").empty().append('*驗證碼錯誤').show();
                return false;
            }else{
                $("#MemberBase_verifyCode_em_").empty().hide();
            }
        }
        if(!checkRules()){
            return false;
        }
    });
        
    $('.Eminl_button').hide();
    $('.register_left').find('div').click(function(){
        $('.member-error-message').hide();
        var index = $(this).index();
        //phone_title  選中狀態    email_title未選中狀態
        $(this).addClass('phone_title').removeClass('email_title').siblings().addClass('email_title').removeClass('phone_title');
        if(index == 0 ){
            $('#index').val('1');
            $('.phone-code').show();
            $('.Eminl').hide();
            $('.mobile_button').show();
            $('.Eminl_button').hide();
        }else{
            $('#index').val('2');
            $('.phone-code').hide();
            $('.Eminl').show();
            $('.mobile_button').hide();
            $('.Eminl_button').show();
        }
    });
});

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM