前段时间做一个项目,需要对各种常用证件进行验证。而港澳通行证,台湾通行证,护照这些证件,在网上并没有找到做正则验证的方法。后来从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",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",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",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; } },"台湾通行证格式不正确");原文链接:https://www.f2er.com/regex/359896.html