将代码放到utils文件夹下的js文件里,在需要用到验证的页面引入
// 邮箱
export function isEmail (s) {
return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
}
// 手机号码
export function isMobile (s) {
return /^(13[0-9]|14[4579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/.test(s)
}
// 电话号码
export function isPhone (s) {
return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
}
// IP
export function isIp (val) {
var exp = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
return exp.test(val)
}
// 经度
export function validatorLongitude (rule, value, callback) {
// eslint-disable-next-line no-useless-escape
const reg = /^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,15})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,15}|180)$/
if (value !== '' && !reg.test(value)) {
callback(new Error('经度范围:-180~180(最多可保留小数点后十五位)'))
}
callback()
}
// 纬度
export function validatorLatitude (rule, value, callback) {
// eslint-disable-next-line no-useless-escape
const reg = /^(\-|\+)?([0-8]?\d{1}\.\d{0,15}|90\.0{0,15}|[0-8]?\d{1}|90)$/
if (value !== '' && !reg.test(value)) {
callback(new Error('纬度范围:-90~90(最多可保留小数点后十五位)'))
}
callback()
}
引入例子:
import {validatorLongitude} from '@/utils/XXX'