实现证件号码根据证件类型的不同选择进行不同校验 实现结果:
前端使用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的使用:
