export const phoneRegExp = /^((0\d{2,3}-\d{7,8})|(1[34567849]\d{9}))$/; export const emailRegExp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; export const commonRegExp = /^[a-zA-Z0-9]{1,50}$/; export const passwordRegExp = /^(?![0-9]+$)(?![a-zA-Z]+$)(?![~@#*]+$)(?![0-9~@#*]+$)(?![0-9a-zA-Z]+$)(?![a-zA-Z~@#*]+$)[0-9A-Za-z~@#*]{6,16}$/; export const chineseAndEnglishRegExp = /^[\u4E00-\u9FA5A-Za-z\s]+$/; export const decimalRegExp = /^(\-)?[1-9]\d{0,6}(\.\d{1,5})?$|^0(\.\d{1,5})?$/; const fundsNumberRegExp = /\d+\.\d{0,4}(?=[^\d]|$)/; const fundsNumber2RegExp = /^[0-9]+\.\d{0,2}$/; const numberRegExp = /^[0-9]*$/; const numberAndEnglishRegExp = /^[0-9a-zA-Z]+$/; //保留小数点后四位 export const fundsNumber = function (value, callback, isRequire = true) { if (!value && isRequire) callback(new Error("金额不能为空")); else if (numberRegExp.test(value)) { callback(); } else if (!fundsNumberRegExp.test(value)) { callback(new Error("非数字类型,或小数点超出四位")); } else { callback(); } }; //保留小数点后两位 export const fundsNumber2 = function (value, callback) { if (value === 0) callback(); if (!value) callback(new Error("金额不能为空")); else if (numberRegExp.test(value)) { callback(); } else if (!fundsNumber2RegExp.test(value)) { callback(new Error("非数字类型,或小数点超出两位")); } else { callback(); } }; export const validateLength = function ( value, callback, min = 1, max = 1, tip = "请输入正确的长度" ) { if (!value) return callback(new Error(tip)); if (value.length > max || value.length < min) { callback(new Error(tip)); } else { callback(); } }; export const validateNumberAndEnglish = function ( value, callback, tip = "不能为空" ) { if (!value) return callback(new Error(tip)); else if (!numberAndEnglishRegExp.test(value)) { callback(new Error("需输入数字或者字母格式")); } else { callback(); } }; export const validChineseAndEnglish = function ( value, callback, tip = "请输入中英文" ) { if (!chineseAndEnglishRegExp.test(value)) { callback(new Error(tip)); } else { callback(); } }; export const validatePhone = function (value) { let flag = true; if (!value) { flag = false; } else if (!phoneRegExp.test(value)) { flag = false; } return flag; }; export const validateEmail = function (value) { let flag = true; if (!value) { flag = false; } else if (!emailRegExp.test(value)) { flag = false; } return flag; }; export const validateCertificateNum = (value, callback) => { if (!value) { callback(new Error("请输入证件号码")); } else if (!commonRegExp.test(value)) { callback(new Error("请检查证件号码是否正确")); } else { callback(); } }; export const validateCode = (value, callback) => { if (!value) { callback(new Error("请输入企业统一社会信用代码")); } else if (!commonRegExp.test(value)) { callback(new Error("请检查企业统一社会信用代码是否正确")); } else { callback(); } }; export const validateArrayLength = ( value, callback, length, tip = "数据有误" ) => { if (!Array.isArray(value)) { callback(new Error("数据类型有误")); } if (value.length !== length) { callback(new Error(tip)); } else { callback(); } }; export const validateArrayMinLength = ( value, callback, length, tip = "数据有误" ) => { if (!Array.isArray(value)) { callback(new Error("数据类型有误")); } if (value.length < length) { callback(new Error(tip)); } else { callback(); } }; export const validatePhoneOrEmail = (value, callback) => { if (!value) { callback(new Error("请填写手机号码或邮箱")); } else if (!phoneRegExp.test(value) && !emailRegExp.test(value)) { callback(new Error("手机号码或邮箱格式不正确")); } else { callback(); } }; export const validatePassword = (value, callback) => { if (!value) { callback(new Error("请填写密码")); } else if (value.includes(" ")) { callback(new Error("密码不能含有空格")); } else if (!passwordRegExp.test(value)) { callback( new Error("密码格式不正确,密码为6~16位数字、字母和特殊符号~@#*组合") ); } else { callback(); } }; export const validatePositiveNumber = function ( value, callback, isEmptyAble = false ) { if (value === 0) return callback(); if (!value && !isEmptyAble) return callback(new Error("请输入数字")); if (isNaN(Number(value))) { callback(new Error("数字格式不正确")); } else if (!/^(0|[1-9][0-9]*)$/.test(value)) { callback(new Error("请输入正整数")); } else { callback(); } }; export const validatePositiveNumber2 = function ( value, callback, isEmptyAble = false ) { if (value === 0) return callback(); if (!value && !isEmptyAble) return callback(new Error("请输入数字")); if (isNaN(Number(value))) { callback(new Error("数字格式不正确")); } else if (!/^(0|[1-9][0-9]*)$/.test(value)) { callback(new Error("请输入正整数")); } else { callback(); } }; export const validateNumberByMin = function (rule, value, callback, min = 1) { if (Number(value) < 0) return callback(new Error(`请输入正整数`)); else if (Number(value) < min) return callback(new Error(`请填写不小于${min}的数字`)); else return validateNumber(rule, value, callback); }; export const validateNumberByMax = function (rule, value, callback, max = 100) { if (Number(value) < 0) return callback(new Error(`请输入正整数`)); else if (Number(value) > max) return callback(new Error(`请填写不大于${max}的数字`)); else return validateNumber(rule, value, callback); }; export const validateNumber = function (value, callback, isEmptyAble = false) { if (value === 0) return callback(); if (!value && !isEmptyAble) return callback(new Error("请输入数字")); if (isNaN(Number(value)) || !decimalRegExp.test(value)) { callback(new Error("数字格式不正确")); } else { callback(); } };