实现证件号码根据证件类型的不同选择进行不同校验
实现结果:
前端使用vue:
证件类型:user.certificateType
证件号码:user.certificateNum
js代码:
certificateNum: {
message: '证件号码验证失败',
validators: {
notEmpty: {
message: '证件号码不能为空'
},
// regexp: {
// regexp: /^[A-Za-z0-9]+$/,
// message: '证件号码格式有误,只允许字母与数字组合'
// },
callback:{
message:"证件号格式不正确",
callback:function(value,validator){
//根据证件类型进行不同格式校验
if(vm.user.certificateType==1){
var pattern0 = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
//正则表达式用于判斷字符串是否全部由空格或换行符组成
var reg = /^\s*$/
//返回值为true表示不是空字符串
//return (value != null && value != undefined && !reg.test(value))
if(!(value != null && value != undefined && !reg.test(value))){
return true;
}else if(pattern0.test(value)){
return true;
}else if(!pattern0.test(value)){
return false;
}
}else{
var pattern1 = /(^(14|15)\d{7})|(^[DEGPS]\d{7,8}$)/;//大陆护照格式
var reg = /^\s*$/
if(!(value != null && value != undefined && !reg.test(value))){
return true;
}else if(pattern1.test(value)){
return true;
}else if(!pattern1.test(value)){
return false;
}
}
}
}
}
},
拓展:
1、js判断数据是否为Null或者undefined或者为空字符串
function CheckIsNullOrEmpty(value) {
//正则表达式用于判斷字符串是否全部由空格或换行符组成
var reg = /^\s*$/
//返回值为true表示不是空字符串
return (value != null && value != undefined && !reg.test(value))
}
2、关于callback的使用: