记录电话号码和身份证的正则表达式,以备后用
var 固定电话 = "^(0[0-9]{2,3}/-)?([2-9][0-9]{6,7})$";
------带三位或四位区号或不带,七位或八位号码
var 手机号 = "^(1[3-9][0-9]{9})$";
------自己写的用来过滤,没考虑电话号码号段
var 身份证 = "(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)";
------十五位、十八位、带字母十八位
var 严格18位身份证 = "^(\d{6}(18|19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|(?i)X))$"
------较严格十八位身份证正则,考虑到出生年月日限定
var 严格15位身份证 = "^(\d{6}\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{2}(\d|(?i)X))$"
------较严格十五位身份证正则,考虑到出生年月日限定
------上面两条应该可以合成一条,未测试
=============后录:身份证校验===========
var value = field.getValue();
var _IDRe18 = /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
var _IDre15 = /^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/;
if (value != '') {
if (!_IDRe18.test(value) && !_IDre15.test(value)) {
field.setValue('');
layer.msg('身份证号格式不正确')
return;
}
field.setValue(value);
}