/**
* 数据校验类
*/
/* eslint-disable */
// 判定是否为空
export const isEmpty = value => {
if (typeof value == 'function') {
return false;
}
return (
typeof value == 'undefined' ||
value === '' ||
value === null ||
value === undefined ||
value === 'null' ||
(value instanceof Object && Object.keys(value).length === 0)
);
};
// 去除字符串空格
export const clearSpace = value => {
if (isEmpty(value)) {
return '';
}
return value.replace(/\s/g, '');
};
/**
* 检测手机号码
* 规则: 11位数字, 第一位和第二位必须为“13、14、15、16、17、18、19”
*/
// export const PhoneNumRegExp = /^1[3456789]\d{9}$/ 原来
export const PhoneNumRegExp = /(^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$)|(^0{0,1}1[3|4|5|6|7|8|9][0-9]{9}$)/; // 客户要求变更
export const PhoneNumTip = '手机号输入有误,请核查~!';
export function isPhoneNum(str) {
const reg = new RegExp(PhoneNumRegExp);
return reg.test(str);
}
// 验证邮箱地址
export const emailReg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/; // 客户要求变更
export const emailTip = '邮箱输入有误,请核查~!';
export function isEmail(value) {
if (isEmpty(value)) {
return false;
}
// const regExp = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
return emailReg.test(value);
}
/**
* 身份证号校验
*/
export const cardNumReg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X|x)$/;
export const cardNumTip = '证件号输入有误,请核查~!';
export function isIDCardNum(value) {
if (isEmpty(value)) {
return false;
}
if (value.length !== 18) {
return false;
}
console.log('value', value);
return cardNumReg.test(value);
}
/**
* 身份证号判断男女 客户提供
*/
export function maleOrFemalByIdCard(idCard) {
// idCard = trim(idCard.replace(/ /g, ""));//对身份证号码做处理。包括字符间有空格。
if (idCard.length == 15) {
if (idCard.substring(14, 15) % 2 == 0) {
return '2';
} else {
return '1';
}
} else if (idCard.length == 18) {
if (idCard.substring(14, 17) % 2 == 0) {
return '2';
} else {
return '1';
}
} else {
return null;
}
}
/**
* 护照校验 客户提供
*/
export const passportCardReg = /^[a-zA-Z0-9]{5,17}$/;
export const passportCardTip = '证件号输入有误,请核查~!';
export function isPassportCardNum(value) {
if (isEmpty(value)) {
return false;
}
return passportCardReg.test(value);
}
/**
* 军官证 客户提供
*/
export const officerCardReg = /(^([\u4E00-\u9FA5\uF900-\uFA2D]{2,5})?\d{6,10}$)|(^\d{6,12}$)/;
export const officerCardTip = '证件号输入有误,请核查~!';
export function isOfficerCardNum(value) {
if (isEmpty(value)) {
return false;
}
return passportCardReg.test(value);
}
/**
* 证件号码校验
* 规则: 数字和字母
*/
export function isCardNum(value) {
if (isEmpty(value)) {
return false;
}
const regExp = new RegExp(/(^[A-Za-z0-9]+$)/);
return regExp.test(value);
}
/**
* 姓名校验
* 规则: 汉字、字母、·和中间空格
*/
// 姓名:长度2-20可包含,空格,"·"(新疆姓名包含"·"),并校验其他特殊字符拦截 错误提示1:"姓名输入字数超限(字数范围:2-20字),请核查!" 错误提示2:"姓名不可包含特殊符号,请核查!"
export const nameRegExp1 = /^[\u4e00-\u9fa5•·' a-zA-Z\s]+$/;
export const nameRegExp = /^(?!.*?[\u3000-\u303F\u4DC0-\u4DFF\u2800-\u28FF\u3200-\u32FF\u3300-\u33FF\u2700-\u27BF\u2600-\u26FF\uFE10-\uFE1F\uFE30-\uFE4F])[\u4e00-\u9fbb\u2E80-\uFE4Fa-zA-Z•\-·' \s]+$/;
export const nameRegExp2 = /^[\u4e00-\u9fa5•·' a-zA-Z\s]{2,20}$/;
export const nameTip = '姓名不可包含特殊符号,请核查!';
export const nameTip2 = '姓名输入字数超限(字数范围:2-20字),请核查!';
export function isName(value) {
// const regExp = new RegExp(nameRegExp)
return nameRegExp.test(value);
}
/**
* 验证码校验
* 规则: 6位数字
*/
export function isVerifyCode(value) {
const regExp = new RegExp(/^\d{6}$/);
return regExp.test(value);
}
/**
* 密码校验
* 规则: 8-16位字母、数字或符号组合,至少包含两种及以上
* 客户要求: 密码长度8-16位且包含大小写字符加数字。特殊可包含字符包含("!","_")不强制必录特殊字符,和8-16位字母、数字或符号组合,至少包含两种及以上
*/
export function isSecretCode2(value) {
const regExp = /(^[A-Za-z0-9!,_]+$)/;
return regExp.test(value);
}
export function isSecretCode(value) {
// const regExp = /^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?![,\.#%'\+\*\-:;^_`]+$)[,\.#%'\+\*\-:;^_`0-9A-Za-z]{8,16}$/
const regExp = /^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?![,!_]+$)[,!_0-9A-Za-z]{8,16}$/;
return regExp.test(value);
}
/**
* 地址规则
* 规则: 客户提供
*/
export function isAddress(obj) {
var pattern = new RegExp(
"[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'?]"
);
if (pattern.test(obj)) {
return '地址信息不可包含特殊符号,请核查!';
}
return '';
}
// 10.报案描述及备注:长度10-200不可包含下述特殊字符:
// export const describeReg = /([`~!@#$^&*()=|{}':;',\\[\].<>/?~!@#¥……&*()——|{}【】‘;:”“'?])/
export const describeReg = /^[\u4e00-\u9fa5a-z0-9 。,.,+-“”]+$/gi; // 。,.,
export const describeTip = '描述信息不可包含特殊符号,请核查!';
export function isDescribe(obj) {
var pattern = new RegExp(
"[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'?]"
);
if (pattern.test(obj)) {
return '描述信息不可包含特殊符号,请核查!';
}
return '';
}
/**
* 金额规则
* 规则: 2位消暑
*/
export const moneyReg = /^[1-9]{1}\d*(\.\d{1,2})?$/;
utils此文件下存放自己封装的工具类函数(数据校验类)
最新推荐文章于 2024-12-23 16:32:04 发布