常用正则表达式记录

本文介绍了在Vue中如何自定义校验器方法,提供了一个用于验证中文字符和电话号码/手机号码的示例,并分享了多种正则表达式,包括验证中文、数字与字母混合、身份证号、邮箱、账号合法性和纳税人识别号等。同时,给出了身份证号脱敏的处理方法。
摘要由CSDN通过智能技术生成

本文是自己在开发过程中遇到的一些需要进行正则验证的规则,再此记录方便后续使用,如有同行同仁有需要也可供参考:
一、在vue中需要自定义校验器方法示例:

var validateItemsLabelName = (rule, value, callback) => {
  if (value !== '') {
    var reg = /^[\u4e00-\u9fa5]{0,10}$/
    if (!reg.test(value)) {
      callback(new Error('仅允许输入10个以内汉字字符'))
    }
  }
  callback()
}
/**
 * 电话号码和手机号码校验
 * 电话号码正则表达式(支持手机号码,3-4位区号,7-8位直拨号码,1-4位分机号)
 */
var validatePhoneNumber = (rule, value, callback) => {
  if (value !== '') { //
    var reg = /((^[1][3456789]\d{9}$)|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)/
    if (!reg.test(value)) {
      callback(new Error('请输入正确的手机号码或者座机号码'))
    }
  }
  callback()
}
// 使用校验器
rules: {
  input: [
    { validator: validateItemsLabelName, trigger: 'change' }
  ],
  inputm: [
    { validator: validatePhoneNumber, trigger: 'change' }
  ]
}

二、正则表达式记录

验证只是中文字符

^[\u4e00-\u9fa5]{0,}$  // 只允许中文,0到无限次循环

验证匹配0到10位纯数字或者是0到10位纯字母(大小写),二者不可混合

((^[0-9]{0,10}$)|(^[a-zA-Z]{0,10}$)$)

手机号码、座机号码(支持1到4位分机号码)

((^[1][3456789]\d{9}$)|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)

身份证号(15位、18位数字),最后一位是校验位,可能为数字或字符X

(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)

Email地址

^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

帐号是否合法(字母开头,允许6-18字节,允许字母数字下划线)

^[a-zA-Z][a-zA-Z0-9_]{5,17}$

匹配输入的空格

^[^\s]*$

匹配纳税人识别号15、18、20位大写字母和数字组合

var reg = /^[A-Z0-9]{15}$|^[A-Z0-9]{18}$|^[A-Z0-9]{20}$/

匹配0和正整数做数量校验使用

var reg = /^([1-9]\d*|0)$/

身份证号脱敏

formatidnum(cn) {
  const cnum = cn.replace(
    /^((\d{6})\d+(\d{3}[0-9xX]))$/,
    "$2********$3"
  );
  return cnum;
},
formatidnum("22612320041009862X"); // 226123********862X

在使用中还会更新……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值