自己在工作中常用的正则(不定时更新)

只能输入4位数字+小数点+两位小数

export function moneyInputFilter(value: string) {
  if (!value) {
    return value;
  }
  
  let realValue = String(value).trim().replace(/[^\d.]/g, '');
  realValue = realValue
    .replace(/\D*(\d*)(\.?)(\d{0,2})\d*/, '$1$2$3')
    .replace('.', '$#$')
    .replace(/\./g, '')
    .replace('$#$', '.');
    
  const splitVal = realValue.split('.');
  if (splitVal.length > 1) {
    return `${splitVal[0].slice(0, 4)}.${splitVal[1]}`;
  }
  
  return realValue.slice(0, 4);
}
复制代码

禁止emoji输入(使用emoji-regex插件)

import emojiRegex from 'emoji-regex';

export function emojiChecker(value: string) {
  if (!value) {
    return value;
  }
  value = String(value);
  const globaleEmogjiReg = new RegExp(emojiRegex(), 'g');
  if (String(value).match(globaleEmogjiReg)) {
    toast.fail('不支持表情符号', 2);
  }
  return value.replace(globaleEmogjiReg, '');
}
复制代码

只能输入中文+英文+字母,禁止特殊字符

export function nameInputFilter(value: string) {
  if (!value) {
    return value;
  }
  // 中文、英文、字母
  const trueReg = /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
  value = value.split('').filter(v => trueReg.test(v)).join('');
  
  return value;
}
复制代码

手机号码

/^[1]([3-9])[0-9]{9}$/
复制代码

身份证号

/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享