Vue 规则 实现联系方式(手机号码/座机)验证

  phone: [
    { required: true, message: '请输入联系方式', trigger: 'blur' },
    {
      validator: (rule, value, callback) => {
        const phoneReg = /^1[3-9]\d{9}$/ // 手机号正则
        const landlineReg = /^(?:(?:\d{3}-)?\d{8}|^(?:\d{4}-)?\d{7,8})(?:-\d+)?$/
        if (!value) {
          callback(new Error('请输入联系方式'))
        } else if (!phoneReg.test(value) && !landlineReg.test(value)) {
          callback(new Error('请输入有效的电话号码或座机号码如xxxx-xxxxxxxxx'))
        } else {
          callback()
        }
      },
      trigger: 'blur'
    }
  ]