正则工具库说明及使用方法
1、validJson.js文件用来封装正则json库
参数说明: code:正则编码 nameEn:英文名称 nameCh:中文名称 regExp:正则 remarks:说明
//regEmail 邮箱-强校验-大小写字母、数字、符号+@+字母、数字、下划线+.+2-4位大小写字母、数字
{
code: "R001",
nameEn: "regEmail",
nameCh: "邮箱-强校验",
regExp: /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,
remarks: "大小写字母、数字、符号+@+字母、数字、下划线+.+2-4位大小写字母、数字",
},
2、validReg.js文件用来封装正则函数
参数说明
code: 参照正则表,选择对应编码
value: 需校验的值
返回值:exposeObj对象
validFlag:正则准确性校验 true/false
regExp:正则公式
regRemarks: 正则说明 (可打印具体查看详情规则)
// 引入正则库
import { validJson } from "../libs/validJson"
export const validReg = (code, value) => {
let exposeObj = {
validFlag: true,//正则准确性校验
regExp: '',//正则公式
regRemarks: ''//正则说明
}
if (typeof value === 'undefined' || value == null || value == '' || value == '-1') {
exposeObj.validFlag = false;
} else {
let validAll = validJson;
validAll.find(item => {
if(item.code == code){
if(item.regExp.test(value)) {
exposeObj.validFlag = true;
exposeObj.regExp = item.regExp;
exposeObj.regRemarks = item.remarks;
}else {
exposeObj.validFlag = false;
}
}
})
}
return exposeObj
}
3、引入
import { validReg } from "@/libs/validReg";
4、调用
可参考demo
ruleValidate: {
email: [
{ required: true, type:'string', message: '邮政编码不能为空', trigger: 'change' },
{ validator (rule, value, callback, source, options) {
const errors = [];
if (!validReg('R003', value).validFlag) {
errors.push('请输入正确的邮政编码')
}
callback(errors)
}}
],
},
正则参考表
编码 | 英文名称 | 中文名称 | 规则 |
---|---|---|---|
R001 | regEmail | 邮箱 - 强校验 | 大小写字母、数字、符号+@+字母、数字、下划线+.+2-4位大小写字母、数字 |
R002 | regEmailSimple | 邮箱 - 非强校验 | 大小写字母、数字、符号组成的邮箱 |
R003 | regPostalCode | 邮政编码 - 强校验 | 0开头 +(1-7)任意一位;1开头 +(0-356)任意一位;2开头 +(0-7)任意一位;3开头0-6;4开头0-7;5开头1-7;6开头1-7;7开头0-5;8开头013-6 + 4位数字 |
R004 | regPostCodeSimple | 邮政编码 - 非强校验 | 6位正整数 |
R005 | regMobile | 手机号 | 10位的正整数 |
R006 | regTel | 电话 | 0-(2-3)位数字+(7-8)位数字 ;0-(2-3)位数字+(7-8)位数字 +(1-4)位数字 |
R007 | regName | 中文姓名 - 非强校验 | 不限制长度的中文 |
R008 | regChinaName | 中文姓名 - 强校验 | 2-16位中文 |
R009 | regEngName | 英文姓名 | 字母开头并结尾的,中间可含字母0-20个 |
R010 | regBankNum | 银行卡号 - 非强校验 | 16位或19位数字 |
R011 | regBankId | 银行卡号 - 强校验 | 非零开头的16-19位数字 |
R012 | regBook | 户口本 | 3-21位大小写字母数字 |
R013 | regIdCardAll | 一二代身份证号 - 强校验 | 一二代身份证号 - 强校验 |
R014 | regUserId | 身份证号 - 非强校验 | 15/18位数字/17位数字+x |
R015 | regPassport | 护照 - 非强校验 | 3-21位大小写字母数字;P+7位数字;G+8位数字 |
R016 | regPassportStrict | 护照 - 强校验 | 1、以EeKkGgDdSsPpHh中的任意一位为开头+8位数字;2、以Ee开头+大小写a-f+7位数字;3、以DdSsPp+Ee开头+7位数字;4、以Kk+Jj为开头+7位数字; 5、以Mm+Aa为开头+7位数字;6、以1+45为开头+7位数字 |
R017 | regOfficers | 军官证 | 7-21位大小写字母数字 |
R018 | regPsw | 账户密码 | 由8-16个字符组成,至少包含大写字母、小写字母和数字 |
R019 | regPswVerd | 密码验证 | 6-20位,字母、数字、符号的组合 |
R020 | regWebUrl | 网址 | http/https/ftp开头 + :// + 大小写字母/数字/.- + . + 2-6位大小写字母 或 http/https/ftp开头 + :// + 大小写字母/数字/.- + . + 2-6位大小写字母 + / + 0-多次 + .- + / |
R021 | regQqNumber | QQ号 | 非0开头5-11位数字 |
R022 | regWxCode | 微信号 | 大小写字母开头+ 5-19位大小写字母数字-_ |
R023 | regPassWordNum | 纯数字 | 纯数字 |
R024 | regPassWordMin | 小写字母 | 小写字母 |
R025 | regPassWordMax | 大写字母 | 大写字母 |
R026 | regPassWordSpe | 特殊字符 | 特殊字符 |
R027 | regPassWordDreg | 包含大小写字母,数字,特殊字符 | 包含大小写字母,数字,特殊字符 |
R028 | regNum | 非负整数 | 非负整数 |
R029 | regPlusNum | 正整数或最多保留两位小数 | 正整数或最多保留两位小数 |
R030 | regBiLi | 1-100整数和小数 | 1-100整数和小数 |
R031 | regInteger | 正整数(不包括0) | 正整数(不包括0) |
R032 | regWeight | 体重 | 1-500整数和小数 |
R033 | regHeight | 身高 | 1-300整数和小数 |
R034 | regProposalCode | 投保单号 | 字母加数据(可以0开头) |
R035 | regFactorageMoney | 金额校验 | 15位数字,其中小数4位 |
R036 | regLNL | 字母、数字、下划线、横线 | 字母、数字、下划线、横线 |
R037 | regTest | 只能录入6位数字和字母 | 只能录入6位数字和字母 |
R038 | regValidYuan | 验证元 | 验证元 |
R039 | regValidWYuan | 验证万元 | 验证万元 |
R040 | regTenNum | 10位正整数 | 10位正整数 |
R041 | regNumAll | 验证是否为全数字 | 数字 |
R042 | regPswSimple | 校验密码强度1 | 包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间 |
R043 | regPswStrict | 校验密码强度2 | 8到16位 必须有 小写字母+大写字母+特殊字符+数字 |
R044 | regDate | 校验日期 | “yyyy-mm-dd“ 格式的日期校验,已考虑平闰年 |
R045 | regMoney | 校验金额 | 金额校验,精确到2位小数 |
R046 | regPhoneStrict | 校验手机号 - 强校验 | 下面是国内 13、15、18开头的手机号正则表达式。(可根据目前国内收集号扩展前两位开头号码) |
如需具体文件,请私信联系。