常用async验证
/**
* @description 默认验证规则
*/
export default {
rules: {
// input非空
notNullInput: [{
validator: function (rule, value, callback) {
// 值为0时的验证
if (value != undefined && value === 0) {
callback();
}
if (value) {
if (value.toString().replace(/\s+/g, "") != "") {
callback();
} else {
callback(new Error('此项为必填项'));
}
} else {
callback(new Error('此项为必填项'));
}
},
trigger: 'blur',
required: true
}],
// select checkbox radios 非空
notNullSelect: [{
required: true,
message: '此项为必选项',
trigger: 'change'
}],
// 数字验证
isNumber: [{
validator: function (rule, value, callback) {
let reg = /^[0-9]+(.[0-9]{1,8})?$/;
if (reg.test(value)) {
callback();
} else {
callback(new Error('请输入正确数字'));
}
},
trigger: 'blur',
required: true
}],
// 年份验证
isYear: [{
validator: function (rule, value, callback) {
let reg = /^(18|19|20|21)\d{2}$/;
if (reg.test(value)) {
callback();
} else {
callback(new Error('请输入正确年份'));
}
},
trigger: 'blur',
required: true
}],
// 身份证验证
isIdCard: [{
validator: function (rule, value, callback) {
let reg = /^([1-9]\d{5})((18|19|20)\d{2})((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}([0-9]|X|x)$/
if (reg.test(value)) {
callback();
} else {
callback(new Error('身份证号格式错误'));
}
},
trigger: 'blur',
required: true
}],
// 电话号验证
isPhone: [{
validator: function (rule, value, callback) {
let regP = /^1[3456789]\d{9}$/;
let regT = /\d{3}-\d{8}|\d{4}-\d{7,8}/
if (regP.test(value) || regT.test(value)) {
callback();
} else {
callback(new Error('电话号码格式错误'));
}
},
trigger: 'blur',
required: true
}],
// 中文字符
isChinese: [{
validator: function (rule, value, callback) {
let reg = /^[\u0391-\uFFE5]+$/;
if (reg.test(value)) {
callback();
} else {
callback(new Error('只允许中文字符'));
}
},
trigger: 'blur',
required: true
}],
// 账号
isAccount: [{
validator: function (rule, value, callback) {
let reg = /^[a-zA-Z0-9]+$/;
if (reg.test(value) && value) {
callback();
} else {
callback(new Error('只允许英文字符或数字'));
}
},
trigger: 'blur',
required: true
}],
// 邮箱验证
isEmail: [{
validator: function (rule, value, callback) {
let reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (reg.test(value)) {
callback();
} else {
callback(new Error('邮箱格式错误'));
}
},
trigger: 'blur',
required: true
}],
// 统一社会信用代码验证
isUnified:[{
validator: function (rule, value, callback) {
let reg = /^[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/g
if (reg.test(value)) {
callback();
} else {
callback(new Error('信用代码格式错误'));
}
},
trigger: 'blur',
required: true
}],
// 百分数小于100
isPercent:[{
validator: function (rule, value, callback) {
let nums = parseFloat(value)
if (nums <= 100.00) {
callback();
} else {
callback(new Error('不允许超过100%'));
}
},
trigger: 'blur',
required: true
}],
// 百分数小于100 大于 0
isPercentNotZero:[{
validator: function (rule, value, callback) {
let nums = parseFloat(value)
if (nums >= 100.00) callback(new Error('不允许超过100%'))
if (nums == 0.00) callback(new Error('必须大于0%'))
callback()
},
trigger: 'blur',
required: true
}],
// 邮编验证
isPostCode: [{
validator: function (rule, value, callback) {
let reg = /^[0-9]{6}$/;
if (reg.test(value)) {
callback();
} else {
callback(new Error('邮编格式错误'));
}
},
trigger: 'blur',
required: true
}],
// 传真验证(必输)
isFax: [{
validator: function (rule, value, callback) {
let reg = /^(?:\d{3,4}-)?\d{7,8}(?:-\d{1,6})?$/;
if (reg.test(value)) {
callback();
} else {
callback(new Error('传真格式错误'));
}
},
trigger: 'blur',
required: true
}],
// 是否是正整数
isPositiveNumber: [{
validator: function (rule, value, callback) {
// 值为0时的验证
if (value != undefined && value > 0) {
callback();
}else{
callback(new Error('数值必须大于0'));
}
},
trigger: 'blur',
required: true
}],
// 机构编码验证
isOrgCode: [{
validator: function (rule, value, callback) {
let reg = /^[0-9][0-9]/;
if (reg.test(value)) {
callback();
} else {
callback(new Error('机构编码格式错误'));
}
},
trigger: 'blur',
required: true
}],
// 合同电话号验证
isPhoneForContract: [{
validator: function (rule, value, callback) {
if(value == '/' || value == '\\' || value == '无'){
callback()
}
let regP = /^1[3456789]\d{9}$/;
let regT = /\d{3}-\d{8}|\d{4}-\d{7,8}/
if (regP.test(value) || regT.test(value)) {
callback();
} else {
callback(new Error('电话号码格式错误'));
}
},
trigger: 'blur',
required: true
}],
// 合同数字验证
isNumberForContract: [{
validator: function (rule, value, callback) {
if(value == '/' || value == '\\' || value == '无'){
callback()
}
let reg = /^[0-9]+(.[0-9]{1,8})?$/;
if (reg.test(value)) {
callback();
} else {
callback(new Error('请输入正确数字'));
}
},
trigger: 'blur',
required: true
}],
// 邮箱验证(不验证必输)
isEmailNotReq: [{
validator: function (rule, value, callback) {
if (!value) {
callback();
return;
}
let reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (reg.test(value)) {
callback();
} else {
callback(new Error('邮箱格式错误'));
}
},
trigger: 'blur',
required: false
}],
// 数字验证(不验证必输)
isNumberNotReq: [{
validator: function (rule, value, callback) {
if (!value) {
callback();
return;
}
let reg = /^[0-9]+(.[0-9]{1,8})?$/;
if (reg.test(value)) {
callback();
} else {
callback(new Error('请输入正确数字'));
}
},
trigger: 'blur',
required: false
}],
// 电话号验证(不验证必输)
isPhoneNotReq: [{
validator: function (rule, value, callback) {
if (!value) {
callback();
return;
}
let regP = /^1[3456789]\d{9}$/;
let regT = /\d{3}-\d{8}|\d{4}-\d{7,8}/
if (regP.test(value) || regT.test(value)) {
callback();
} else {
callback(new Error('电话号码格式错误'));
}
},
trigger: 'blur',
required: false
}],
// 身份证验证(不验证必输)
isIdCardNotReq: [{
validator: function (rule, value, callback) {
if (!value) {
callback();
return;
}
let reg = /^([1-9]\d{5})((18|19|20)\d{2})((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}([0-9]|X|x)$/
if (reg.test(value)) {
callback();
} else {
callback(new Error('身份证号格式错误'));
}
},
trigger: 'blur',
required: false
}],
// 百分数小于100(不验证必输)
isPercentNotReq:[{
validator: function (rule, value, callback) {
if (!value) {
callback();
return;
}
let nums = parseFloat(value)
if (nums <= 100.00) {
callback();
} else {
callback(new Error('不允许超过100%'));
}
},
trigger: 'blur',
required: false
}],
// 传真验证(不验证必输)
isFaxNotReq: [{
validator: function (rule, value, callback) {
if (!value) {
callback();
return;
}
let reg = /^(?:\d{3,4}-)?\d{7,8}(?:-\d{1,6})?$/;
if (reg.test(value)) {
callback();
} else {
callback(new Error('传真格式错误'));
}
},
trigger: 'blur',
required: false
}],
}
}