$(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();
        }
    });
});

form的验证包括手机号邮箱等等的更多相关文章

  1. js表单简单验证(手机号邮箱)

    1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncod ...

  2. 常用到的JS 验证(包括例子)

    //验证是否为空    function check_blank(obj, obj_name){         if(obj.value != ''){                  retur ...

  3. AngularJS系列:表单全解(表单验证,radio必选,三级联动,check绑定,form提交验证)

    一.查看$scope -->寻找Form控制变量的位置 Form控制变量 格式:form的name属性.input的name属性.$... formName.inputField.$pristi ...

  4. jquery正则表达式验证(手机号、身份证号、中文名称)

    这篇文章主要介绍了jquery正则表达式验证,实现手机号.身份证号.中文名称验证,感兴趣的小伙伴们可以参考一下 本文实例需要验证的内容:中文姓名.手机号.身份证和地址,验证方法分享给大家供大家参考,具 ...

  5. 框架----Django之Form提交验证(二)

    一.Form提交验证之(学生表.老师表.班级表)的添加和编辑实现案例 1. 浏览器访问 http://127.0.0.1:8000/student_list/ http://127.0.0.1:800 ...

  6. Django之Form组件验证

    今天来谈谈Django的Form组件操作 Django中的Form一般有两种功能: ·输入html ·验证用户输入 Form验证流程 ·定义规则(是一个类)    ·前端把数据提交过来 ·匹配规则 · ...

  7. asp.net 身份验证-Form 身份验证

    一. .net身份验证简介 1.身份验证就是检测用户是否登录及所访问的资源是否有权限.当我们在访问一个受保护网络资源时,往往需要输入用户名.密码信息,或通过其他证书.第三方身份验证等方式.验证(Aut ...

  8. 利用strut2标签自动生成form前端验证代码

    利用strut2标签自动生成form前端验证代码,使用到的技术有1.struts2标签,如<s:form> <s:textfieled>2.struts2读取*Validati ...

  9. 框架----Django之Form提交验证(一)

    一.Form提交验证与Ajax提交验证的运用实例 Form表单提交时会刷新页面,输入失败时,输入框内内容也会随之刷新不能保留:而Ajax提交是在后台偷偷提交,不会刷新页面,因此也就可以保留页面输入框内 ...

随机推荐

  1. 【DeepLearning】Exercise:Softmax Regression

    Exercise:Softmax Regression 习题的链接:Exercise:Softmax Regression softmaxCost.m function [cost, grad] = ...

  2. 树莓派进阶之路 (028) - 树莓派SQLite3的安装

    MySQL占用内存太大,而SQLite是一款轻量级零配置数据库,非常适合在树莓派和其他嵌入式系统中使用.SQLite文档详细资料丰富,本文不会详细解释SQLite数据库操作的方方面面,只能结合具体场景 ...

  3. java导出txt文件

    1:vm模板页面的代码片段 <div class="col-sm-1"> <button type="button" class=" ...

  4. 基于Amoba实现mysql主从读写分离

    一.Amoeba简介           Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy.它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特 ...

  5. WAMP 默认mysql密码修改

    WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作. 首先,通过WAMP打开mysql控制台. 提示输入密码,因为现在是空,所以直接按回车 ...

  6. 探讨android更新UI的几种方法

    作为IT新手,总以为只要有时间,有精力,什么东西都能做出来.这种念头我也有过,但很快就熄灭了,因为现实是残酷的,就算一开始的时间和精力非常充足,也会随着项目的推进而逐步消磨殆尽.我们会发现,自己越来越 ...

  7. Oracle 12C -- 删除PDB

    删除PDB SQL> select con_id,pdb_name,status from cdb_pdbs; CON_ID PDB_NAME STATUS ---------- ------- ...

  8. Inondb中的checkpoint

    checkpoint主要是为了解决一下问题: 1.缩短数据库的恢复时间 2.缓冲池不够用时,将脏页刷新到磁盘 3.重做日志不可用时,刷新脏页 Innodb引擎使用LSN(log sequence nu ...

  9. 使用 Cookie 而无需 ASP.NET 核心标识的身份验证

    https://docs.microsoft.com/zh-cn/aspnet/core/security/authentication/cookie?tabs=aspnetcore2x#tabpan ...

  10. HDU2594 Simpsons’ Hidden Talents 【KMP】

    Simpsons' Hidden Talents Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java ...