正则表达式

Posted 想吃水煮麻辣鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。


01、手机机身码(IMEI) 
/^\\d{15,17}$/

02、必须带端口号的网址(或ip)

/^((ht|f)tps?:\\/\\/)?[\\w-]+(\\.[\\w-]+)+:\\d{1,5}\\/?$/

03、网址(url,支持端口和"?+参数"和"#+参数) 

/^(((ht|f)tps?):\\/\\/)?[\\w-]+(\\.[\\w-]+)+([\\w.,@?^=%&:/~+#-]*[\\w@?^=%&/~+#-])?$/

04、统一社会信用代码(宽松匹配)(15位/18位/20位数字/字母) 

/^(([0-9A-Za-z]{15})|([0-9A-Za-z]{18})|([0-9A-Za-z]{20}))$/

05、统一社会信用代码(宽松匹配)(15位/18位/20位数字/字母) 

/^(([0-9A-Za-z]{15})|([0-9A-Za-z]{18})|([0-9A-Za-z]{20}))$/

06、统一社会信用代码 

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

07、火车车次

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

08、迅雷链接 

/^thunder:\\/\\/[a-zA-Z0-9]+=$/

09、ed2k链接(宽松匹配) 

/^ed2k:\\/\\/|file|.+|\\/$/

10、磁力链接(宽松匹配) 

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

11、子网掩码 

/^(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])(?:\\.(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])){3}$/

12、linux"文件夹"路径 

/^\\/(\\w+\\/?)+$/

13、linux"文件"路径 

/^\\/(\\w+\\/)+\\w+\\.\\w+$/

14、window下"文件夹"路径 

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

15、window下"文件"路径

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

16、A股代码

/^(s[hz]|S[HZ])(000[\\d]{3}|002[\\d]{3}|300[\\d]{3}|600[\\d]{3}|60[\\d]{4})$/

17、大于等于0, 小于等于150, 支持小数位出现5, 如145.5, 用于判断考卷分数 

/^150$|^(?:\\d|[1-9]\\d|1[0-4]\\d)(?:.5)?$/

18、html注释 

/^<!--[\\s\\S]*?-->$/

19、md5格式(32位) 

/^[a-f0-9]{32}$/

20、版本号格式必须为X.Y.Z 

/^\\d+(?:\\.\\d+){2}$/

21、视频链接地址(视频格式可按需增删) 

/^https?:\\/\\/.*?(?:swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4)$/i

22、图片链接地址(图片格式可按需增删)

/^https?:\\/\\/.*?(?:gif|png|jpg|jpeg|webp|svg|psd|bmp|tif)$/i

23、24小时制时间(HH:mm:ss) 

/^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/

24、12小时制时间(hh:mm:ss) 

/^(?:1[0-2]|0?[1-9]):[0-5]\\d:[0-5]\\d$/

25、base64格式 

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

26、数字/货币金额(支持负数、千分位分隔符)

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

27、数字/货币金额 (只支持正数、不支持校验千分位分隔符) 

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

28、银行卡号(16或19位)

/^(?:[1-9]{1})(?:\\d{15}|\\d{18})$/

29、中文姓名 

/^(?:[\\u4e00-\\u9fa5·]{2,16})$/

30、英文姓名 

/(^[a-zA-Z]{1}[a-zA-Z\\s]{0,20}[a-zA-Z]{1}$)/

31、新能源车牌号 

/[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]{1}[A-HJ-NP-Z]{1}(([0-9]{5}[DF])|([DF][A-HJ-NP-Z0-9][0-9]{4}))$/

32、非新能源车牌号 

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

33、车牌号(新能源+非新能源) 

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

34、网址 

/^(?:(?:https?|ftp):\\/\\/)?(?:[\\da-z.-]+)\\.(?:[a-z.]{2,6})(?:\\/\\w\\.-]*)*\\/?/

35、中国手机号(严谨), 根据工信部2019年最新公布的手机号段 。

/^(?:(?:\\+|00)86)?1(?:(?:3[\\d])|(?:4[5-7|9])|(?:5[0-3|5-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\\d])|(?:9[1|8|9]))\\d{8}$/

36、中国手机号(宽松), 只要是13,14,15,16,17,18,19开头即可 。

/^(?:(?:\\+|00)86)?1[3-9]\\d{9}$/

37、中国手机号(最宽松), 只要是1开头即可, 如果你的手机号是用来接收短信, 优先建议选择这一条 。

/^(?:(?:\\+|00)86)?1\\d{10}$/

38、日期 

/^\\d{4}(-)(1[0-2]|0?\\d)\\1([0-2]\\d|\\d|30|31)$/

39、邮箱地址(email) 

/^[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])?)*$/

40、国内座机电话,如: 0341-86091234 

/\\d{3}-\\d{8}|\\d{4}-\\d{7}/

41、一代身份证号(15位数字) 

/^\\d{8}(0\\d|10|11|12)([0-2]\\d|30|31)\\d{3}$/

42、二代身份证号(18位数字),最后一位是校验位,可能为数字或字符X 

/^\\d{6}(18|19|20)\\d{2}(0\\d|10|11|12)([0-2]\\d|30|31)\\d{3}(\\d|X|x)$/

43、身份证号, 支持1/2代(15位/18位数字) 

/(^\\d{8}(0\\d|10|11|12)([0-2]\\d|30|31)\\d{3}$)|(^\\d{6}(18|19|20)\\d{2}(0\\d|10|11|12)([0-2]\\d|30|31)\\d{3}(\\d|X|x)$)/

44、护照(包含香港、澳门)

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

45、帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线组合 

/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/

46、纯中文/汉字

/^(?:[\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uFA0E\\uFA0F\\uFA11\\uFA13\\uFA14\\uFA1F\\uFA21\\uFA23\\uFA24\\uFA27-\\uFA29]|[\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0])+$/

47、是否小数 

/^\\d+\\.\\d+$/

48、电话(座机) 

/^0\\d{2,3}-\\d{7,8}$/

49、纯数字 

/^\\d{1,}$/

50、是否html标签(宽松匹配) 

/<(.*)>.*<\\/\\1>|<(.*) \\/>/

51、是否qq号格式正确 

/^[1-9][0-9]{4,10}$/

52、是否由数字和字母组成 

/^[A-Za-z0-9]+$/

53、纯英文字母 

/^[a-zA-Z]+$/

54、纯小写英文字母组成 

/^[a-z]+$/

55、纯大写英文字母

/^[A-Z]+$/

56、密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 。

/^.*(?=.{6,})(?=.*\\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/

57、用户名正则,4到16位(字母,数字,下划线,减号) 

/^[a-zA-Z0-9_-]{4,16}$/

58、ip-v4 

/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/

59、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]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i

60、16进制颜色 

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

61、微信号,6至20位,以字母开头,字母,数字,减号,下划线

/^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/

62、中国邮政编码 

/^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\\d{4}$/

63、只包含中文和数字 

/^((?:[\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uFA0E\\uFA0F\\uFA11\\uFA13\\uFA14\\uFA1F\\uFA21\\uFA23\\uFA24\\uFA27-\\uFA29]|[\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0])|(\\d))+$/

64、不能包含字母 

/^[^A-Za-z]*$/

65、mac地址 

/^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$/i

66、匹配连续重复的字符 

/(.)\\1+/

67、数字和英文字母组成,并且同时含有数字和英文字母 

/^(?=.*[a-zA-Z])(?=.*\\d).+$/

68、香港身份证 

/^[a-zA-Z]\\d{6}\\([\\dA]\\)$/

69、澳门身份证 

/^[1|5|7]\\d{6}[(\\d)]{3}$/

70、台湾身份证 

/^[a-zA-Z][0-9]{9}$/

 

以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

markdown 正则表达式模式片段

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

循环通过 python 正则表达式匹配

asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串

攻破难啃的骨头-正则表达式(转)

正则表达式的贪婪和非贪婪模式