闲来无事,收集了一些 javascript 正则表达式(当然,你也可以使用到其它语言上,不仅仅局限于js),供大家参考试用,不过部份表达式个人并没有亲自测试,如果正式环境使用的话,请测试无误后,再使用。

js 正则表达式大全

1、手机机身码(IMEI)正则表达式

/^\d{15,17}$/

2、统一社会信用代码正则表达式

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

3、带端口的URL网址或IP地址正规表达式

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

4、带有参数的URL地址正则表达式

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

5、迅雷链接正则表达式

/^thunderx?:\/\/[a-zA-Z\d]+=$/

6、火车车次正则表达式

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

7、子网掩码正则表达式

/^(?:\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}$/

8、磁力链接正则表达式

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

9、ed2k链接正则表达式

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

10、子网掩码正则表达式

/^(?:\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}$/

11、win系统"文件夹"路径正则表达式

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

12、win 系统文件路径,正则表达式

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

13、liunx系统 文件路径,正则表达式

/^\/(?:[^\/]+\/)*[^\/]+$/

14、liunx系统 文件夹路径,正则表达式

/^\/(?:[^\/]+\/)*$/

15、liunx系统 隐藏文件路径 正则表达式

/^\/(?:[^\/]+\/)*\.[^\/]*/

16、html代码注释,正则表达式

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

17、md5加密格式,正则表达式

/^([a-f\d]{32}|[A-F\d]{32})$/

18,x.y.x格式的版本号,正则表达式

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

19、 图片链接地址,表达式

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

20、base64 格式,正则表达式

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

21、12/24 小时制时间,正则表达式

12小时制:/^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$/  
24小时制:/^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/

22、支持千分位以及负数的数字或货币

/^-?\d+(,\d{3})*(\.\d{1,2})?$/

23、正整数不支持千分位的数字或货币金额

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

24、中文姓名正则表达式

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

25、英文姓名正则表达式

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

26、新能源车牌号,正规表达式

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

27、非新能源车牌号

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

28、新能源加非新能源车牌号验证

/^(?:[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 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})$/

29、银行卡号

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

30、手机号,工信部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}$/

31、手机号,以 13,14,15,16,17,18,19 为开头

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

32、手机号,以 1 为开头

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

33、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])?)*$/

34、date 日期

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

35、座机号码

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

36、身份证号1代(15位数字)

/^[1-9]\d{7}(?:0\d|10|11|12)(?:0[1-9]|[1-2][\d]|30|31)\d{3}$/

37、身分证号2代码(18位数字)

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

38、身份证号,同时支持1代和2代

/(^\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)$)/

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

/^[a-zA-Z]\w{4,15}$/

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

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

41、中文/汉字

/^(?:[\\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])+$/

42、qq号码

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

43、大写英文字母

/^[A-Z]+$/

44、小写英文字母

/^[a-z]+$/

45、大小写英文字母

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

46、数字和大小写英文字母

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

47、用户名校验,4到16位(字母,数字,下划线,减号)

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

48、ipv4 地址正规表达式

/^(?:(?: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]?)$/

49、IPV6 地址正则表达式

/^((([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

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

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

51、邮政编码(中国)

/^(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}$/