data() {
var checkPhone = (rule,value,callback) => {
let mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;
let tel = /^\d{3,4}-?\d{7,9}$/;
if (!tel.test(value)||!mobile.test(value)){
return callback(new Error('请填写联系电话(座机格式\'区号-座机号码\')'));
}
}
return {
ruleForm: {
phoneNum: ''
},
rules: {
phoneNum: [
{ required: true, validator:checkPhone, trigger: 'blur,change' }
],
}
}
现在的问题是如果只验证tel或mobile就可以通过 但是两个放一起就不能通过 哪写错了呢?还是传值有问题?
你的逻辑的意思是 如果这个号码不是座机 或者不是手机号 就报错,反而言之 只有这个号码是座机 并且是手机号的时候才会通过。也就是说不管你输入什么 都会报错,因为座机号和手机号不可能一样