// == 基础正则匹配格式 export const formats = { user: /^[a-zA-Z0-9_]{6,20}$/, phone: /^(((12[0-9]{1})|(13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(147))+\d{8})$/, password: /^(=.*[a-zA-Z])(=.*[0-9])$/, has: { special: /[。~\+\\\/\?\|:\.<>{}()';="]/, number: /[0-9]+/, letter: /[a-zA-Z]+/, lowerletter: /[a-z]+/ }, is: { // 6位相同数字 same6Number: /^(0{6})|(1{6})|(2{6})|(3{6})|(4{6})|(5{6})|(6{6})|(7{6})|(8{6})|(9{6})$/, continuous6Number:/^(012345)|(123456)|(234567)|(345678)|(456789)$/,// 连续6位数字 number:/^-?([0-9]\d*|[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/, numberStrict:/^-?([1-9]\d*|[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/, int:/^-?[1-9]\d*$/, float:/^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/, letter:/^[A-Za-z]+$/, lowerletter:/^[a-z]+$/, email:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, qq:/^[1-9]\d{4,}$/, chinese:/^[\u4e00-\u9fa5·s]+$/, bankcard:/^(\d{13}|\d{14}|\d{15}|\d{16}|\d{17}|\d{18}|\d{19})$/, idcard15: /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/, idcard18: /^[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)$/ }, date: { yyyymmdd: /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/ } }; // == 基本验证配置 export const verifyFormats = [ ['isPhone', formats.phone], ['isBankcard', formats.is.bankcard], ['isNumber', formats.is.number], ['isInt', formats.is.int], ['hasNumber', formats.has.number], ['isLetter', formats.is.letter], ['isLowerletter', formats.is.lowerletter], ['hasLetter', formats.has.letter], ['hasLowerletter', formats.has.lowerletter], ['isEmail', formats.is.email], ['isChinese', formats.is.chinese], ['noSame6Number',formats.is.same6Number,true], ['noContinuous6Number',formats.is.continuous6Number,true], ['noSpecial', formats.has.special, true], ['require', function (value) { return !!value; }], ['accountName', function (value) { return formats.phone.test(value) || formats.is.idcard15.test(value) || formats.is.idcard18.test(value); }], ['idcard', function (value) { return formats.is.idcard15.test(value) || formats.is.idcard18.test(value); }], ['inLength', function (min, max) { return function (value) { return value && value.length <= max && value.length >= min; } }], ['isLength', function (length) { return function (value) { return value && value.length === length; } }], ['isEqual', function (value, bValue) { return value && value === bValue; }] ]; // == 默认校验字段对应的验证配置 export const validateFormats = { phone: {require:'手机号不能为空',isPhone:'请输入正确的手机号码'}, bankcard: {require:'银行卡号不能为空',isBankcard:'请输入正确的银行卡号'}, accountName: { require:'账号不能为空', hasNumber: '请输入正确的账号', inLength:{ message:'请输入正确的账号', args:[8,25] }}, password:{ require: '密码不能为空', hasLetter: '密码8-14位,需包含数字及字母,区分大小写', hasNumber: '密码8-14位,需包含数字及字母,区分大小写', inLength:{ message:'密码8-14位,需包含数字及字母,区分大小写', args:[8,14] } }, tradePassword:{ require: '交易密码不能为空', isNumber: '交易密码6位,只支持数字', noSame6Number:'交易密码不能为相同数字', noContinuous6Number:'交易密码不能为连续数字', inLength:{ message:'交易密码6位,只支持数字', args:[6,6] } }, repassword:{ require: '二次密码不能为空' }, captcha: { require:'验证码不能为空', isNumber:'验证码格式错误', isLength:{message:'验证码格式错误', args:[6]} }, realname: { require:'姓名不能为空', isChinese:'姓名必须是中文', inLength:{ message:'姓名至少两个字', args:[2,100] } }, idcard: { require:'身份证号不能为空', idcard: '身份证号格式错误' } };