常用正则表达式

前言

正则表达式乍一看不容易理解,仔细看会发现很有道理,很多东西都是固定的正则,所以我把他们统计在这里,方便进行查看使用。

常用正则表达式

1.邮箱

包含大小写字母,下划线,阿拉伯数字,点号,中划线

[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(?:.[a-zA-Z0-9_-]+)

2.身份证号

格式为:xxxxxx yyyy MM dd 375 0 十八位

[1-9]d{5}(18|19|([23]d))d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)d{3}[0-9Xx]

3.手机号码

11位,1开头,第二位3、5、6、7、8、9,剩下随意

1(3|4|5|6|7|8|9)d{9}

4.域名

一般都是以:http:/或https:/

(?:(?:https://)|(?:https://))?(?:[w](?:[w-]{0,61}[w])?.)+[a-zA-Z]{2,6}(?:/)

5.IP地址

IP地址的长度为32位(共有2^32个IP地址),分为4段,每段8位,用十进制数字表示 每段数字范围为0~255,段与段之间用句点隔开

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

6.日期

常见日期格式:yyyyMMdd、yyyy-MM-dd、yyyy/MM/dd、yyyy.MM.dd
这个正则都通用

d{4}(?:-|/|.)d{1,2}(?:-|/|.)d{1,2}

7.邮政编码

[1-9]d{5}(?!d)

8.火车车次

例如: G1868, D102, D9, Z5, Z24, Z17

/^[GCDZTSPKXLY1-9]d{1,4}$/

9.统一社会信用代码

例如: 91230184MA1BUFLT44, 92371000MA3MXH0E3W

/^[0-9A-HJ-NPQRTUWXY]{2}d{6}[0-9A-HJ-NPQRTUWXY]{10}$/

10.迅雷链接

例如: thunder://QUEsICdtYWduZXQ6P3h0PXVybjpidGloOjBCQTE0RTUxRkUwNjU1RjE0Qzc4NjE4RjY4NDY0QjZFNTEyNjcyOUMnWlo=

/^thunderx?://[a-zA-Zd]+=$/

11.HTML注释

例如:

/^<!--[sS]*?-->$/

12.MD5加密格式(32位)

例如: 21fe181c5bfc16306a6828c1f7b762e8

/^([a-fd]{32}|[A-Fd]{32})$/

13.数字

  • 验证数字:^[0-9]*$
  • 验证n位的数字:^d{n}$
  • 验证至少n位数字:^d{n,}$
  • 验证m-n位的数字:^d{m,n}$
  • 验证零和非零开头的数字:^(0|[1-9][0-9]*)$
  • 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
  • 验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
  • 验证非零的正整数:^+?[1-9][0-9]*$
  • 验证非零的负整数:^-[1-9][0-9]*$
  • 验证非负整数(正整数 + 0) ^d+$
  • 验证非正整数(负整数 + 0) ^((-d+)|(0+))$
  • 整数:^-?d+$
  • 非负浮点数(正浮点数 + 0):^d+(.d+)?$
  • 正浮点数 ^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$
  • 非正浮点数(负浮点数 + 0) ^((-d+(.d+)?)|(0+(.0+)?))$
  • 负浮点数 ^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$
  • 浮点数 ^(-?d+)(.d+)?$

14. 字符串

  • 英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
  • 长度为3-20的所有字符:^.{3,20}$
  • 由26个英文字母组成的字符串:^[A-Za-z]+$
  • 由26个大写英文字母组成的字符串:^[A-Z]+$
  • 由26个小写英文字母组成的字符串:^[a-z]+$
  • 由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
  • 由数字、26个英文字母或者下划线组成的字符串:^w+$ 或 ^w{3,20}$
  • 中文、英文、数字包括下划线:^[u4E00-u9FA5A-Za-z0-9_]+$
  • 中文、英文、数字但不包括下划线等符号:^[u4E00-u9FA5A-Za-z0-9]+$ 或 ^[u4E00-u9FA5A-Za-z0-9]{2,20}$
  • 可以输入含有^%&',;=?”等字符:[^%&',;=?x22]+
  • 禁止输入含有~的字符:[^~x22]+

15.银行卡号

10到30位, 覆盖对公/私账户, 参考微信支付open in new window

/^[1-9]d{9,29}$/

16.十六进制颜色

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

17.车牌号(新能源+非新能源)

/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/

18.html标签

/<(w+)[^>]*>(.*?</1>)?/

19.护照(包含港澳)

/(^[EeKkGgDdSsPpHh]d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))d{7}$)/

20.磁力链接

/^magnet:?xt=urn:btih:[0-9a-fA-F]{40,}.*$/

21.base64格式

/^s*data:(?:[a-z]+/[a-z0-9-+.]+(?:;[a-z-]+=[a-z0-9-]+)?)?(?:;base64)?,([a-z0-9!$&',()*+;=-._~:@/?%s]*?)s*$/i

22.windows文件夹路径

/^[a-zA-Z]:(?:w+?)*$/

23.ip-v6[:端口]

/(^(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f
THE END