vue中表单验证特殊字符、数据大小长度、经纬度、数组
export function checkInputString(rule, value, callback) {if (value) {if (value.match(/^[\u4E00-\u9FA5A-Za-z0-9_]+?$/)) {callback()} else {callback(new Error('不可输入特殊字符'))}}
}
export function checkDecimal(rule, value, callback) {if (value) {value += ''var negative = rule.isNegative ? rule.isNegative : falsevar maxValue = rule.maxValue ? rule.maxValue : 10000000var minValue = 0var decimal = rule.decimal ? rule.decimal : 7if (rule.decimal === 0) {decimal = 0}var re = nullif (negative) {minValue = '-' + maxValuere = eval('/^(\\-)?(0|[1-9][0-9]*)(\\.\\d{0,' + decimal + '})?$/')} else {re = eval('/^(([1-9]{1}\\d*)|(0{1}))(\\.\\d{0,' + decimal + '})?$/')}if (isNaN(value)) {callback(new Error('请输入数字'))} else {if (value.match(re)) {var num = parseFloat(value)if (negative) {if (num > minValue && num < maxValue) {callback()} else { callback(new Error('超出有效输入范围')) }} else {if (num >= minValue && num < maxValue) {callback()} else { callback(new Error('超出有效输入范围')) }}} else {callback(new Error('输入有误'))}}} else { callback() }
}
export function checkNumber(rule, value, callback) {if (value) {value += ''if (value.match(/^\d+$/)) {var num = parseFloat(value)if (num >= 0 && num < 10000000) {callback()} else { callback(new Error('超出有效输入范围')) }} else {callback(new Error('请输入正整数'))}} else { callback() }
}
export function checkLon(rule, value, callback) {if (value) {value += ''if (value.match(/^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,7})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,6}|180)$/)) {callback()} else {callback(new Error('经度为-180~180,小数限7位!'))}} else {callback()}
}
export function checkLat(rule, value, callback) {if (value) {value += ''if (value.match(/^(\-|\+)?([0-8]?\d{1}\.\d{0,7}|90\.0{0,6}|[0-8]?\d{1}|90)$/)) {callback()} else {callback(new Error('纬度为-90~90,小数限7位'))}} else {callback()}
}
export function checkLong(rule, value, callback) {if (value) {if (value.length < rule.length && value.length >= 0) {callback()} else {callback(new Error('输入不可超过' + rule.length + '个字符'))}} else {callback()}
}
export function checkNull(rule, value, callback) {if (!value) {if (value === 0) { callback() } else {callback(new Error(rule.message))}} else {value += ''if (value.length > 0) {callback()} else { callback(new Error(rule.message)) }}
}
export function checkArray(rule, value, callback) {console.log(value)if (value.length > 0) {callback()} else {callback(new Error(rule.message))}
}
调用
import { checkDecimal, checkAngle, checkLon, checkLat, checkNull, checkArray, checkLong } from '@/utils/verification'formRules: { name: [{ required: true, message: '请输入名字', validator: checkNull, whitespace: true, trigger: 'blur' },{ validator: checkDecimal, maxValue: 100000, decimal: 5, trigger: 'blur' }], location: [{ validator: checkLong, length: 18, trigger: 'blur' }], },
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!