1.手机号码的验证
正则表达式:/^[1]([3-9])[0-9]{9}$/
在vue的表单中这样写:
const checkPhone = (rule, value, callback) => {
const phoneModel = /^[1]([3-9])[0-9]{9}$/
if (!phoneModel.test(value)) {
return callback('请输入正确的手机号')
}
callback()
}
然后规则验证的时候再引用checkPhone
就可以了
注:不是最严谨的,但是一般的都可以验证
2.手机号和座机号的验证
const checkPhone = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入联系人电话'))
} else {
let regPone = null
const mobile = /^1(3|4|5|6|7|8|9)\d{9}$/ // 手机正则
const tel = /^(0[0-9]{2,3}\-)([2-9][0-9]{4,7})+(\-[0-9]{1,4})?$/ // 座机
if (value.charAt(0) == 0) { // charAt查找第一个字符方法,用来判断输入的是座机还是手机号
regPone = tel
} else {
regPone = mobile
}
if (!regPone.test(value)) {
return callback(
new Error("请填写联系人电话(座机格式'区号-座机号码')")
)
}
callback()
}
}
3.输入是数字并保留两位小数(金额)
正则表达式:/^\d+(\.\d{0,2})?$/
在vue的表单中这样写:
const checkUnitPrice = (rule, value, callback) => {
const ruleMoney = /^\d+(\.\d{0,2})?$/
if (value === '') {
callback('请输入')
} else if (!ruleMoney.test(value)) {
callback('请输入正确的费用')
} else {
callback()
}
也是规则验证的时候再引用checkUnitPrice
就可以了