常用的正则表达式

// 校验
export function regCheck (val: any, type: string) {
  // 10位数字校验(月结卡号)
  if (type === 'cardnum') {
    const reg = /^\d{10}$/;
    return reg.test(val);
  }

  // 11位手机号校验
  if (type === 'phone') {
    const reg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
    return reg.test(val);
  }

  // 电子邮箱校验
  if (type === 'email') {
    const reg = /^([A-Za-z0-9_\-.])+@([A-Za-z0-9_\-.])+\.([A-Za-z]{2,5})$/;
    return reg.test(val);
  }

  // 数字及两位小数校验
  if (type === 'number') {
    const reg = /^-*\d+(\.\d{1,2})?$/;
    return reg.test(val);
  }

  // 数字和字母的组合---(限20位)--(例如:客户编码,合同编码)
  if (type === 'code') {
    const reg = /^[A-Za-z0-9]{1,20}$/;
    return reg.test(val);
  }

  // 数字和字母的组合---(限50位)--(例如:货主代码)
  if (type === 'code_two') {
    const reg = /^[A-Za-z0-9]{1,50}$/;
    return reg.test(val);
  }

  // 长度1-50,允许数字和字母以及特殊字符输入,-、. 、@、$、!、%、*、#_、~、?、&、^
  if (type === 'code_three') {
    const reg = /^(?=.*[\da-zA-Z])[\da-zA-Z-.@$!%*#_~?&^]{1,50}$/;
    return reg.test(val);
  }

  // 纯数字---(例如:商机编码)
  if (type === 'purenum') {
    const reg = /^[0-9]*$/;
    return reg.test(val);
  }

  // 6-12为大写字母---(例如:客户名称缩写)
  if (type === 'uppercase') {
    const reg = /^[A-Z]{6,12}$/;
    return reg.test(val);
  }

  // 限两位小数,整数位最多11位---(例如:金额、月订单量)
  if (type === 'datalimit') {
    const reg = /^[1-9]\d{1,10}(\.\d{1,2})?$|^0(\.\d{1,2})?$/;
    return reg.test(val);
  }

  // 不限位数,正确的数字---(例如:应付金额、预估月订单量(万单))
  if (type === 'numberinfinite') {
    const reg = /^(([1-9][0-9]*)|(([0]\.\d{1,}|[1-9][0-9]*\.\d{1,})))$|^0(\.\d{1,})?$/;
    // const reg = /^[-]?(([1-9][0-9]*)|[-]?(([0]\.\d{1,}|[-]?[1-9][0-9]*\.\d{1,})))$|^[-]?0(\.\d{1,})?$/;  能为负数
    return reg.test(val);
  }

  return true;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值