/* eslint no-useless-escape: 0 */
const reg = {
// 包含中文
cn: /[\u4E00-\u9FA5]/g,
mobile: /^[1][3|4|5|6|7|8|9][0-9]{9}$/,
telephone: /^((0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/,
// 3-20位,字母,数字,减号,下划线
special: /^[a-zA-Z]([-_a-zA-Z0-9]){2,19}$/,
// 非法字符 除字母,数字,下划线,减号以外
illegal: /[^\w-]/,
/**
* 中文、数字、字母、下划线
* @argument
* min 最小长度
* max 最大长度
*/
cnAndSpecial: (min = 1, max = 6) => new RegExp(`^(\\w|[\\u4E00-\\u9FA5]){${min},${max}}$`),
// 车位锁编号 - 4位数字字母
lockNum: /^[\d|a-zA-Z]{8}$/,
// 除了中文外的其他字符
exceptCN: /^[\d|a-zA-Z|_\\\-\.\/?\@\%\!\&=\+\~\:\#\;\,'\^\$\*\(\)\[\]\{\}<>]{0,32}$/,
// 只有汉字
onlyCN: /^[\u4e00-\u9fa5]+$/,
// 3-20位,字母
eng: /^[a-zA-Z]{3,20}$/,
letter: /^[0-9a-zA-Z]+$/,
// 1至30位,支持字母,数字,减号,下划线
name: /^([-_a-zA-Z0-9\(\)\(\)]{0,30})$/,
address: /^([-_a-zA-Z0-9]{0,60})$/,
// 8至20位字符含大小写字母数字
password: /(?=[a-zA-Z0-9]*\d)(?=[a-zA-Z0-9]*[A-Z])(?=[a-zA-Z0-9]*[a-z])([a-zA-Z0-9]{8,20})$/,
// 字母,数字,减号,下划线
// npassword: /^[a-zA-Z]([-_a-zA-Z0-9])+$/,
npassword: /^([-_a-zA-Z0-9])+$/,
// 强密码正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
xpassword: /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/,
// 强制修改密码: 字符串必须包含大写字母,小写字母和数字
validatePwd: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/,
wordbegin: /^[a-zA-Z]/, // 以字母开头
email: /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
// plate: /^[冀豫云辽黑湘皖鲁苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼渝京津沪新军空海北沈兰济南广成使领][A-Z](([DF][A-HJ-NP-Z0-9][0-9]{4}$)|([0-9]{5}[DF]$))|^[冀豫云辽黑湘皖鲁苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼渝京津沪新军空海北沈兰济南广成使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/i,
plate: /^[冀豫云辽黑湘皖鲁苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼渝京津沪新军空海北沈兰济南广成使领A-Z][A-Z](([A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1})|([ADF][A-HJ-NP-Z0-9][0-9]{4}$)|([0-9]{5}[DF]$))$/i,
plateShort: /^[冀豫云辽黑湘皖鲁苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼渝京津沪新军空海北沈兰济南广成使领]{1}([A-Z])?$/i,
// 正整数和0
posInt: /^\d+$/,
// 数字
number: /^\d+(\.\d+)?$/,
// 验证码
captcha: /^.{5}$/,
// 整数校验(正整数,负整数和0)
intNumber: /^(\-|\+)?\d+$/,
// 正数、负数、和小数
allNumber: /^(\-|\+)?\d+(\.\d+)?$/,
// 封顶金额(只允许输入-1,-1.00以及正常的金额)
specialNum: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)|(^-[1]?(\.[0]{2}$))|(^-[1]{1}$)/,
// 金额
money: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
// URL
url: /^(http|https):\/\/([\w\-]+\.)+[\w\-]+(\/[\w\u4e00-\u9fa5\-\.\/?\@\%\!\&=\+\~\:\#\;\,]*)?/i,
// 折扣 1-9.99 ,最多两位小数
discount: /^(([1-9]{1})(\.\d{1,2})?)$/,
// 0-100的数字, 最多两位小数
rate: /^(\d{1,2}(\.\d{1,2})?|100)$/,
// 版本号(Va.b.c,abc表示数字最大为V15.15.15)
version: /^[V]([1][0-5]|[1-9])(\.([1][0-5]|\d)){2}$/,
// 0.1—9.9 正则校验
discountRexp: /^(?=0\.[1-9]|[1-9]\.\d).{3}$|^([1-9])$/,
// 校验项目经度值(数字0~180,保留6位小数)
parkingLongitudeCheck: /(^(\d|[1-9]\d|^1[0-7]\d)(\.\d{6})*$)|(^180([.]0{6})?$)/,
// 1-100整数
validContractNum: /^([1-9]|[1-9]\d|100)$/,
// 校验项目纬度值(数字0~90,保留6位小数)
parkingLatitudeCheck: /(^[0-9]([.][0-9]{6})?$)|(^[1-8][0-9]([.][0-9]{6})?$)|(^90([.]0{6})?$)/,
// 身份证号码
IdCard: /^[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)$/,
// 正整数
positiveInt: /^[1-9]\d*$/,
// 车场面积
area: /(^[1-9]([0-9]{0,5})?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]{1,2}?$)/,
// 投资额
assetsAmount: /(^[1-9]([0-9]{0,8})?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]{1,2}?$)/,
// 套餐优惠赠送天数1-30
favourableDay: /^([1-9]|[12][0-9]|30)$/,
// 上传基本数据格式
basicUploadReg: /\.(jpg|png|pdf|doc|docx|xlsx|xls|txt)$/,
// 异常金额配置0.01 <= x <= 9999.99最多保留两位小数
errorMoney: /(^0\.[1-9]{1}$)|(^0\.\d{1}[1-9]$)|(^0\.[1-9]{1}[0]$)|(^[1-9]\d{0,3}$)|(^[1-9]\d{0,3}\.\d{0,2}$)/
};
export default {
...reg
};