常用正则表达式

平时不常写正则表达式,记录一些常用的,不用再花时间写或是到处找

数字

整数

  • 正整数
    1
    ^[1-9]\d*$
  • 负整数
    1
    ^-[1-9]\d*$

浮点数

  • 正浮点数
    1
    ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
  • 负浮点数
    1
    ^-[1-9]\d*\.\d*|-0\.\d*[1-9]\d*$

字符

中文字符

1
[\u4e00-\u9fa5]

英文字符

  • 不区分大小写
    1
    ^[A-Za-z]+$
  • 大写
    1
    ^[A-Z]+$
  • 小写
    1
    ^[a-z]+$

英文和数字

  • 1
    1
    ^[A-Za-z0-9]+$
  • 2
    1
    ^[A-Za-z0-9]{4,40}$

空白行

特殊格式

Email

  • 1
    1
    [\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?
  • 2
    1
    w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 

URL

1
[a-zA-z]+://[^\s]*

手机号

  • 固定
    1
    ^(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9]|19[0-9])\d{8}$
  • 泛解析
    1
    ^([1][3,4,5,6,7,8,9])\d{9}$)

身份证号

  • 18 位
    1
    ^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$

账号

  • 字母开头,允许 5-16 字节,允许字母数字下划线
    1
    ^[a-zA-Z][a-zA-Z0-9_]{4,15}$

密码

  • 以字母开头,长度在 6~18 之间,只能包含字母、数字和下划线
    1
    ^[a-zA-Z]\w{5,17}$
  • 必须包含大小写字母和数字的组合,不能使用特殊字符,长度在 8-10 之间
    1
    ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[\da-zA-Z]{8,10}$

日期

  • 年 - 月 - 日
    1
    ([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))

金额

  • 0.01, 10000.00
    1
    (^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)

IP 地址

  • 1
    1
    \d+\.\d+\.\d+\.\d+
  • 2
    1
    ((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))

参考文献