前段时间做一个项目,需要对各种常用证件进行验证。而港澳通行证,台湾通行证,护照这些证件,在网上并没有找到做正则验证的方法。后来从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;
}
}, "台湾通行证格式不正确");
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。