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