常用证件正则表达式验证

前段时间做一个项目,需要对各种常用证件进行验证。而港澳通行证,台湾通行证,护照这些证件,在网上并没有找到做正则验证的方法。后来从12306网站的代码中发现了这些验证规则,结合validator这个验证插件写了一些代码,有需要的朋友可以参考。

// 身份证验证   
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;
    }
}, "台湾通行证格式不正确");

你可能感兴趣的:(javascript)