Skip to content

常用正则

收集开发中的一些常用正则

JS 正则表达式完整教程

验证相关

是否是金额(精确到分)

js
/^(0|([1-9]\d*))(\.\d{1,2})?$/

/(?:^[1-9]([0-9]+)?(?:\.[0-9]{1,2})?$)|(?:^(?:0){1}$)|(?:^[0-9]\.[0-9](?:[0-9])?$)/

是否是手机号

js
/^1\d{10}$/

/^1[3-9]\d{9}$/

是否是邮箱号

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

/**
 * 参考 MDN
 * https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input/email#basic_validation
 */
/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/

是否是 QQ 号

js
/^[1-9]{1}\d{4,11}$/

是否是链接地址

js
/^(https|http):\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/

是否是身份证号码

js
/^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/

是否是 16 进制颜色

js
/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/

格式相关

344 格式手机号

  • 从左到右
js
/(^\d{3}|\d{4}\B)/g
// 例:
'15512341234'.replace(/(^\d{3}|\d{4}\B)/g, '$1 ')
  • 从右到左
js
/\B(?=(\d{4})+\b)/g
// 例:
'15512341234'.replace(/\B(?=(\d{4})+\b)/g, ' ')

隐藏手机号中间 4 位

js
/(\d{3})\d{4}(\d{4})/
// 例:
'15512341234'.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')

赣ICP备2023003243号