1.电话号码校验
const validatePhone = (rule, value, callback) => {
if (value) {
let mol = /^1\d{10}$/
var phone = /^([0-9]{3,4}-)?[0-9]{7,8}$/
if (value) {
if (phone.test(value) || mol.test(value)) {
callback()
} else {
callback(new Error('电话号码格式不正确!'))
}
} else {
callback(new Error('请输入电话号码!'))
}
} else {
callback()
}
}
2.经纬度校验
const validateUnionLonlat = (rule, value, callback, lon, lat, isnull) => {
let func = (rule, value, callback) => {
if (!lon || !lat) {
if (isnull) {
if (!lon && !lat) {
callback()
}
}
callback(new Error('请输入经纬度,经纬度不能为空'))
}
var reg = /^(-)?(([0-9])|([1-9]([0-9]+)))(.[0-9]+)?$/
if (reg.test(lon) && reg.test(lat)) {
if (parseFloat(lon) <= 180 &&
parseFloat(lon) >= -180 &&
parseFloat(lat) <= 90 &&
parseFloat(lat) >= -90) {
callback()
} else {
callback(new Error('请输入正确的经纬度'))
}
} else {
callback(new Error('请输入正确的经纬度'))
}
}
return func(rule, value, callback)
}
3.数字必填项校验
const numPass = (rule, value, callback, noMessage, isPositive) => {
let text = noMessage ? noMessage : '请填写数字'
const reg = /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/
var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/
if (!value) {
if (value == 0 && !isPositive) {
callback()
} else {
return callback(new Error(text))
}
} else if (!reg.test(value) && !regNeg.test(value)) {
return callback(new Error(text))
} else {
callback()
}
}