經常使用證件正則表達式驗證

前段時間作一個項目,須要對各類經常使用證件進行驗證。而港澳通行證,臺灣通行證,護照這些證件,在網上並無找到作正則驗證的方法。後來從12306網站的代碼中發現了這些驗證規則,結合validator這個驗證插件寫了一些代碼,有須要的朋友能夠參考。javascript

// 身份證驗證   
jQuery.validator.addMethod("isIdCard", function(value, element, type) {
     if ($(type).val() === '1') {
        var re = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
        return this.optional(element) || (re.test(value));         
     } else {
         return true;
     } 

}, "身份證格式不正確");

// 護照驗證
jQuery.validator.addMethod("isPassport", function(value, element, type) {
    if ($(type).val() === '2') {
        var re1 = /^[a-zA-Z]{5,17}$/;
        var re2 = /^[a-zA-Z0-9]{5,17}$/;
        return this.optional(element) || (re2.test(value)) || re1.test(value);
    } else {
        return true;
    }

}, "護照格式不正確");

// 港澳通行證驗證
jQuery.validator.addMethod("isHKMacao", function(value, element, type) {
    if ($(type).val() === '3') {
        var re = /^[HMhm]{1}([0-9]{10}|[0-9]{8})$/;
        return this.optional(element) || (re.test(value));
    } else {
        return true;
    }
}, "港澳通行證格式不正確");

// 臺灣通行證驗證
jQuery.validator.addMethod("isTaiwan", function(value, element, type) {
    if ($(type).val() == "4") {
        var re1 = /^[0-9]{8}$/;
        var re2 = /^[0-9]{10}$/;
        return this.optional(element) || (re1.test(value)) || (re2.test(value))
    } else {
        return true;
    }
}, "臺灣通行證格式不正確");
相關文章
相關標籤/搜索