VUE封装正则公共方法

正则工具库说明及使用方法

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)
      }}
    ],
  },

正则参考表

编码英文名称中文名称规则
R001regEmail邮箱 - 强校验大小写字母、数字、符号+@+字母、数字、下划线+.+2-4位大小写字母、数字
R002regEmailSimple邮箱 - 非强校验大小写字母、数字、符号组成的邮箱
R003regPostalCode邮政编码 - 强校验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位数字
R004regPostCodeSimple邮政编码 - 非强校验6位正整数
R005regMobile手机号10位的正整数
R006regTel电话0-(2-3)位数字+(7-8)位数字 ;0-(2-3)位数字+(7-8)位数字 +(1-4)位数字
R007regName中文姓名 - 非强校验不限制长度的中文
R008regChinaName中文姓名 - 强校验2-16位中文
R009regEngName英文姓名字母开头并结尾的,中间可含字母0-20个
R010regBankNum银行卡号 - 非强校验16位或19位数字
R011regBankId银行卡号 - 强校验非零开头的16-19位数字
R012regBook户口本3-21位大小写字母数字
R013regIdCardAll一二代身份证号 - 强校验一二代身份证号 - 强校验
R014regUserId身份证号 - 非强校验15/18位数字/17位数字+x
R015regPassport护照 - 非强校验3-21位大小写字母数字;P+7位数字;G+8位数字
R016regPassportStrict护照 - 强校验1、以EeKkGgDdSsPpHh中的任意一位为开头+8位数字;2、以Ee开头+大小写a-f+7位数字;3、以DdSsPp+Ee开头+7位数字;4、以Kk+Jj为开头+7位数字; 5、以Mm+Aa为开头+7位数字;6、以1+45为开头+7位数字
R017regOfficers军官证7-21位大小写字母数字
R018regPsw账户密码由8-16个字符组成,至少包含大写字母、小写字母和数字
R019regPswVerd密码验证6-20位,字母、数字、符号的组合
R020regWebUrl网址http/https/ftp开头 + :// + 大小写字母/数字/.- + . + 2-6位大小写字母 或 http/https/ftp开头 + :// + 大小写字母/数字/.- + . + 2-6位大小写字母 + / + 0-多次 + .- + /
R021regQqNumberQQ号非0开头5-11位数字
R022regWxCode微信号大小写字母开头+ 5-19位大小写字母数字-_
R023regPassWordNum纯数字纯数字
R024regPassWordMin小写字母小写字母
R025regPassWordMax大写字母大写字母
R026regPassWordSpe特殊字符特殊字符
R027regPassWordDreg包含大小写字母,数字,特殊字符包含大小写字母,数字,特殊字符
R028regNum非负整数非负整数
R029regPlusNum正整数或最多保留两位小数正整数或最多保留两位小数
R030regBiLi1-100整数和小数1-100整数和小数
R031regInteger正整数(不包括0)正整数(不包括0)
R032regWeight体重1-500整数和小数
R033regHeight身高1-300整数和小数
R034regProposalCode投保单号字母加数据(可以0开头)
R035regFactorageMoney金额校验15位数字,其中小数4位
R036regLNL字母、数字、下划线、横线字母、数字、下划线、横线
R037regTest只能录入6位数字和字母只能录入6位数字和字母
R038regValidYuan验证元验证元
R039regValidWYuan验证万元验证万元
R040regTenNum10位正整数10位正整数
R041regNumAll验证是否为全数字数字
R042regPswSimple校验密码强度1包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间
R043regPswStrict校验密码强度28到16位 必须有 小写字母+大写字母+特殊字符+数字
R044regDate校验日期“yyyy-mm-dd“ 格式的日期校验,已考虑平闰年
R045regMoney校验金额金额校验,精确到2位小数
R046regPhoneStrict校验手机号 - 强校验下面是国内 13、15、18开头的手机号正则表达式。(可根据目前国内收集号扩展前两位开头号码)

如需具体文件,请私信联系。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值