表单验证
作者:chrispy
// 用户名 字母数字组成6-16位
export const userNameRE = (rule, value, callback) {
const reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$/g
if (!value) {
return callback(new Error('请填写用户名'))
} else if (!reg.test(value)) {
return callback(new Error('用户名格式错误'))
} else {
callback()
}
}
// 身份证
export function checkIdNum(rule, value, callback) {
const reg = /(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/
if (!value) {
return callback(new Error('证件号码不能为空'))
} else if (!reg.test(value)) {
return callback(new Error('证件号码不正确'))
} else {
callback()
}
}
// 电话格式验证
export const validateMobile = (rule, value, callback) => {
let reg = /^1[0-9]{10}$/
if (value === '') {
callback(new Error('必填项不能为空'))
} else if (!reg.test(value)) {
callback(new Error('电话格式输入不正确'))
} else {
callback()
}
}
// 整数
export const checkInterNum = (rule, value, callback) {
const reg = /^[0-9]*[1-9][0-9]*$/
if (!value) {
return callback(new Error('请填写整数'))
} else if (!reg.test(value)) {
return callback(new Error('请输入整数'))
} else {
callback()
}
}
// 60 字符
export const validateLength = (rule, value, callback) => {
if (value === '') {
callback(new Error('必填项不能为空'))
} else if (value.replace(/[^x00-xff]/g, '**').length > 60) {
callback(new Error('长度控制在个60字符以内!'))
} else {
callback()
}
}
// 固话
export const validateConsultingPhone = (rule, value, callback) => {
let reg = /^0d{2,3}-d{7,8}(-d{1,6})?$/
if (value === '') {
callback(new Error('必填项不能为空'))
} else if (!reg.test(value)) {
callback(new Error('电话格式输入不正确'))
} else {
callback()
}
}
// 0-30Number 不包含小数点
export const validateNumberPoint = (rule, value, callback) => {
var regNum = /^[0-9]+.?[0-9]*$/
if (rule.fullField === 'collectMaxNum') {
if (value === '') {
callback(new Error('必填项不能为空'))
} else if (value > 30) {
callback(new Error('此处必须为0-30数字值'))
} else {
callback()
}
}
if (value && !regNum.test(value)) {
callback(new Error('此处必须为数字值'))
} else if (value && (value.toString()).indexOf('.') !== -1) {
callback(new Error('不可以含有小数点或其他字符'))
} else {
callback()
}
}