'use strict'
export let validateEmail = (rule, value, callback) => {
if (value === '') {
callback()
} else {
if (/^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,6}$/.test(value)) {
callback()
} else {
callback(new Error(window.app.$t('请输入正确的邮箱地址')))
}
}
}
export let validateTelephone = (rule, value, callback) => {
if (value === '') {
callback()
} else {
if (/^([+]?[\d]{1,3}-|[ ])?((13[0-9]{9})|(18[0-9]{9})|(15[0-9]{9})|(16[0-9]{9})|(14[0-9]{9})|(17[0-9]{9}))$/.test(value)) {
callback()
} else if (/^(([0\+]\d{2,3}-?)?(0\d{2,3})-?)?(\d{7,8})(-(\d{3,}))?$/.test(value)) {
callback()
} else if (value.length == 5 && /^\d{5}$/g.exec(value)) {
callback()
} else if (value.length == 3 && /^\d{3}$/g.exec(value)) {
callback()
} else if (value.length == 10 && /^\d{10}$/g.exec(value)) {
callback()
} else {
callback(new Error(window.app.$t('请输入正确的联系号码')))
}
}
}
export let validateMobile = (rule, value, callback) => {
if (value === '') {
callback()
} else {
if (/^([+]?[\d]{1,3}-|[ ])?((13[0-9]{9})|(18[0-9]{9})|(15[0-9]{9})|(16[0-9]{9})|(14[0-9]{9})|(17[0-9]{9}))$/.test(value)) {
callback()
} else {
callback(new Error(window.app.$t('请输入正确的手机号码')))
}
}
}
export let validateTel = (rule, value, callback) => {
if (value === '') {
callback()
} else {
if (/^(([0\+]\d{2,3}-?)?(0\d{2,3})-?)?(\d{7,8})(-(\d{3,}))?$/.test(value)) {
callback()
} else {
callback(new Error(window.app.$t('请输入正确的座机号码')))
}
}
}
export let validateEnNumUdl = (rule, value, callback) => {
if (value === '') {
callback()
} else {
if (/^[A-Za-z0-9_]+$/.test(value)) {
callback()
} else {
callback(new Error(window.app.$t('只能输入英文字母、数字、下划线')))
}
}
}
export let validateNumber = (rule, value, callback) => {
if (value === '') {
callback()
} else {
if (/^\d+(\.\d+)?$/.test(value)) {
let val = parseFloat(value)
let result = {
min: {
result: false,
msg: window.app.$t('最小输入 ') + rule.min
},
max: {
result: false,
msg: window.app.$t('最大输入 ') + rule.max
},
int: {
result: false,
msg: window.app.$t('请输入数字')
}
}
if (rule.min !== undefined) {
val >= rule.min ? result.min.result = true : callback(new Error(result.min.msg))
}
if (rule.max !== undefined) {
val <= rule.max ? result.max.result = true : callback(new Error(result.max.msg))
}
if (rule.int) {
/^\d+$/.test(value) ? result.int.result = true : callback(new Error(result.int.msg))
}
result.min && result.max && result.int && callback()
} else {
callback(new Error(window.app.$t('请输入数字')))
}
}
}
export let validatePositiveNumber = (rule, value, callback) => {
if (!value) {
callback()
} else {
console.log(value)
if (/^\d+(\.\d+)?$/.test(value)) {
let val = parseFloat(value)
if (val <= 0) {
callback(new Error(window.app.$t('请输入正整数')))
}
let result = {
min: {
result: false,
msg: window.app.$t('最小输入 ') + rule.min
},
max: {
result: false,
msg: window.app.$t('最大输入 ') + rule.max
},
int: {
result: false,
msg: window.app.$t('请输入数字')
}
}
if (rule.min !== undefined) {
val >= rule.min ? result.min.result = true : callback(new Error(result.min.msg))
}
if (rule.max !== undefined) {
val <= rule.max ? result.max.result = true : callback(new Error(result.max.msg))
}
if (rule.int) {
/^\d+$/.test(value) ? result.int.result = true : callback(new Error(result.int.msg))
}
result.min && result.max && result.int && callback()
} else {
callback(new Error(window.app.$t('请输入数字')))
}
}
}