国产精品久久久久9999高清

    <ins id="xfhxr"><dfn id="xfhxr"></dfn></ins>

    <b id="xfhxr"><progress id="xfhxr"></progress></b>

    新聞中心

    互聯網+時代,說建站,談運營與網絡營銷

    當前位置:首頁 > 新聞中心 > 前端開發 > jquery validation驗證身份證號、護照、電話號碼、email

    jquery validation驗證身份證號、護照、電話號碼、email

    時間:2020-05-20
    $.validator.setDefaults({
    submitHandler: function(form) {
    form.submit();
    }
    });
    // 字符驗證
    jQuery.validator.addMethod("stringCheck", function(value, element) {
    return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);
    }, "只能包括中文字、英文字母、數字和下劃線");
    // 中文字兩個字節
    jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {
    var length = value.length;
    for(var i = 0; i < value.length; i++){
    if(value.charCodeAt(i) > 127){
    length++;
    }
    }
    return this.optional(element) || ( length >= param[0] && length <= param[1] );
    }, "請確保輸入的值在3-15個字節之間(一個中文字算2個字節)");
     
    // 身份證號碼驗證
    jQuery.validator.addMethod("isIdCardNo", function(value, element) {
    return this.optional(element) || idCardNoUtil.checkIdCardNo(value);
    }, "請正確輸入您的身份證號碼");
    //護照編號驗證
    jQuery.validator.addMethod("passport", function(value, element) {
    return this.optional(element) || checknumber(value);
    }, "請正確輸入您的護照編號");
     
    // 手機號碼驗證
    jQuery.validator.addMethod("isMobile", function(value, element) {
    var length = value.length;
    var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;
    return this.optional(element) || (length == 11 && mobile.test(value));
    }, "請正確填寫您的手機號碼");
     
    // 電話號碼驗證
    jQuery.validator.addMethod("isTel", function(value, element) {
    var tel = /^\d{3,4}-?\d{7,9}$/; //電話號碼格式010-12345678
    return this.optional(element) || (tel.test(value));
    }, "請正確填寫您的電話號碼");
     
    // 聯系電話(手機/電話皆可)驗證
    jQuery.validator.addMethod("isPhone", function(value,element) {
    var length = value.length;
    var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;
    var tel = /^\d{3,4}-?\d{7,9}$/;
    return this.optional(element) || (tel.test(value) || mobile.test(value));
     
    }, "請正確填寫您的聯系電話");
     
    // 郵政編碼驗證
    jQuery.validator.addMethod("isZipCode", function(value, element) {
    var tel = /^[0-9]{6}$/;
    return this.optional(element) || (tel.test(value));
    }, "請正確填寫您的郵政編碼");
     
    //開始驗證
    $('#commentForm').validate({
     
    rules: {
    username: {
    required:true,
    stringCheck:true,
    byteRangeLength:[3,15]
    },
    email:{
    required:true,
    email:true
    },
    phone:{
    required:true,
    isMobile:true
    },
    address:{
    required:true,
    stringCheck:true,
    byteRangeLength:[3,100]
    },
    card:{
    required:true,
    isIdCardNo:true
     
    },
    passport:{
    required:true,
    passport:true
     
    }
    },
     
     
    messages:{
    username: {
    required: "請填寫用戶名",
    stringCheck: "用戶名只能包括中文字、英文字母、數字和下劃線",
    byteRangeLength: "用戶名必須在3-15個字符之間(一個中文字算2個字符)"
    },
    email:{
    required: "<font color=red>請輸入一個Email地址</fond>",
    email: "請輸入一個有效的Email地址"
    },
    phone:{
    required: "請輸入您的聯系電話",
    isPhone: "請輸入一個有效的聯系電話"
    },
    address:{
    required: "請輸入您的聯系地址",
    stringCheck: "請正確輸入您的聯系地址",
    byteRangeLength: "請詳實您的聯系地址以便于我們聯系您"
    },
    card:{
    required:"請輸入身份證號",
    isIdCardNo:"請輸入正確的身份證號"
    },
    passport:{
    required:"請輸入護照編號",
    passport:"請輸入正確的護照編號"
    }
    },
     
     
    focusInvalid: false,
    onkeyup: false,
     
     
    errorPlacement: function(error, element) {
    error.appendTo( element.parent());
    },
    errorElement:"em",
    error:function(label){label.text(" ").addClass("error");}
    });
    })


    記得引入下面的JS文件,card.js


    var idCardNoUtil = {

      

    provinceAndCitys: {11:"北京",12:"天津",13:"河北",14:"山西",15:"內蒙古",21:"遼寧",22:"吉林",23:"黑龍江",

    31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南",42:"湖北",43:"湖南",44:"廣東",

    45:"廣西",46:"海南",50:"重慶",51:"四川",52:"貴州",53:"云南",54:"西藏",61:"陜西",62:"甘肅",63:"青海",64:"寧夏",

    65:"新疆",71:"臺灣",81:"香港",82:"澳門",91:"國外"},

    powers: ["7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2"],

    parityBit: ["1","0","X","9","8","7","6","5","4","3","2"],

    genders: {male:"男",female:"女"},

    checkAddressCode: function(addressCode){

    var check = /^[1-9]\d{5}$/.test(addressCode);

    if(!check) return false;

    if(idCardNoUtil.provinceAndCitys[parseInt(addressCode.substring(0,2))]){

    return true;

    }else{

    return false;

    }

    },

    checkBirthDayCode: function(birDayCode){

    var check = /^[1-9]\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))$/.test(birDayCode);

    if(!check) return false;

    var yyyy = parseInt(birDayCode.substring(0,4),10);

    var mm = parseInt(birDayCode.substring(4,6),10);

    var dd = parseInt(birDayCode.substring(6),10);

    var xdata = new Date(yyyy,mm-1,dd);

    if(xdata > new Date()){

    return false;//生日不能大于當前日期

    }else if ( ( xdata.getFullYear() == yyyy ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == dd ) ){

    return true;

    }else{

    return false;

    }

    },

    getParityBit: function(idCardNo){

    var id17 = idCardNo.substring(0,17);

      

    var power = 0;

    for(var i=0;i<17;i++){

    power += parseInt(id17.charAt(i),10) * parseInt(idCardNoUtil.powers[i]);

    }

      

    var mod = power % 11;

    return idCardNoUtil.parityBit[mod];

    },

    checkParityBit: function(idCardNo){

    var parityBit = idCardNo.charAt(17).toUpperCase();

    if(idCardNoUtil.getParityBit(idCardNo) == parityBit){

    return true;

    }else{

    return false;

    }

    },

    checkIdCardNo: function(idCardNo){

    //15位和18位身份證號碼的基本校驗

    var check = /^\d{15}|(\d{17}(\d|x|X))$/.test(idCardNo);

    if(!check) return false;

    //判斷長度為15位或18位

    if(idCardNo.length==15){

    return idCardNoUtil.check15IdCardNo(idCardNo);

    }else if(idCardNo.length==18){

    return idCardNoUtil.check18IdCardNo(idCardNo);

    }else{

    return false;

    }

    },

      

    //校驗15位的身份證號碼

    check15IdCardNo: function(idCardNo){

    //15位身份證號碼的基本校驗

    var check = /^[1-9]\d{7}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}$/.test(idCardNo);

    if(!check) return false;

    //校驗地址碼

    var addressCode = idCardNo.substring(0,6);

    check = idCardNoUtil.checkAddressCode(addressCode);

    if(!check) return false;

    var birDayCode = '19' + idCardNo.substring(6,12);

    //校驗日期碼

    return idCardNoUtil.checkBirthDayCode(birDayCode);

    },

      

    //校驗18位的身份證號碼

    check18IdCardNo: function(idCardNo){

    //18位身份證號碼的基本格式校驗

    var check = /^[1-9]\d{5}[1-9]\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}(\d|x|X)$/.test(idCardNo);

    if(!check) return false;

    //校驗地址碼

    var addressCode = idCardNo.substring(0,6);

    check = idCardNoUtil.checkAddressCode(addressCode);

    if(!check) return false;

    //校驗日期碼

    var birDayCode = idCardNo.substring(6,14);

    check = idCardNoUtil.checkBirthDayCode(birDayCode);

    if(!check) return false;

    //驗證校檢碼

    return idCardNoUtil.checkParityBit(idCardNo);

    },

      

    formateDateCN: function(day){

    var yyyy =day.substring(0,4);

    var mm = day.substring(4,6);

    var dd = day.substring(6);

    return yyyy + '-' + mm +'-' + dd;

    },

      

    //獲取信息

    getIdCardInfo: function(idCardNo){

    var idCardInfo = {

    gender:"", //性別

    birthday:"" // 出生日期(yyyy-mm-dd)

    };

    if(idCardNo.length==15){

    var aday = '19' + idCardNo.substring(6,12);

    idCardInfo.birthday=idCardNoUtil.formateDateCN(aday);

    if(parseInt(idCardNo.charAt(14))%2==0){

    idCardInfo.gender=idCardNoUtil.genders.female;

    }else{

    idCardInfo.gender=idCardNoUtil.genders.male;

    }

    }else if(idCardNo.length==18){

    var aday = idCardNo.substring(6,14);

    idCardInfo.birthday=idCardNoUtil.formateDateCN(aday);

    if(parseInt(idCardNo.charAt(16))%2==0){

    idCardInfo.gender=idCardNoUtil.genders.female;

    }else{

    idCardInfo.gender=idCardNoUtil.genders.male;

    }

      

    }

    return idCardInfo;

    },

    getId15:function(idCardNo){

    if(idCardNo.length==15){

    return idCardNo;

    }else if(idCardNo.length==18){

    return idCardNo.substring(0,6) + idCardNo.substring(8,17);

    }else{

    return null;

    }

    },

    getId18: function(idCardNo){

    if(idCardNo.length==15){

    var id17 = idCardNo.substring(0,6) + '19' + idCardNo.substring(6);

    var parityBit = idCardNoUtil.getParityBit(id17);

    return id17 + parityBit;

    }else if(idCardNo.length==18){

    return idCardNo;

    }else{

    return null;

    }

    }

    };

    //驗證護照是否正確

    function checknumber(number){

    var str=number;

    //在JavaScript中,正則表達式只能使用"/"開頭和結束,不能使用雙引號

    var Expression=/(P\d{7})|(G\d{8})/;

    var objExp=new RegExp(Expression);

    if(objExp.test(str)==true){

    return true;

    }else{

    return false;

    }

    };


    首頁
    案例中心
    關于我們
    聯系我們
    国产精品久久久久9999高清,JAPAN高清日本乱XXXXX,欧美性XXXX极品高清HD,YY6080午夜国产高清理论