常用的正则表达式

MicLon原创2022年8月3日
大约 4 分钟

  • 数字校验
描述正则表达式备注
数字^[0-9]*$
n位数字^\d{n}$
至少n位数字^\d{n,}$
m~n位数字^\d{m,n}$
整数^(-?[1-9]\d*)$非0开头,包括正整数和负整数
正整数^[1-9]\d*$
负整数^-[1-9]\d*$
非负整数^(([1-9]\d*)|0)$
非正整数^((-[1-9]\d*)|0)$
浮点数^-?(?:[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0\.0+|0)$包括正浮点数和负浮点数
正浮点数^(?:[1-9]\d*\.\d*|0\.\d*[1-9]\d*)$
负浮点数^-(?:[1-9]\d*\.\d*|0\.\d*[1-9]\d*)$包含0
非正浮点数^(?:-(?:[1-9]\d*\.\d+|0\.\d*[1-9]\d*)|0\.0+|0)$ 包含0
非负浮点数^(?:[1-9]\d*\.\d+|0\.\d+|0\.0+|0)$
仅一位小数^-?(?:0|[1-9][0-9]*)\.[0-9]{1}$
最少一位小数^-?(?:0|[1-9][0-9]*)\.[0-9]{1,}$
最多两位小数^-?(?:0|[1-9][0-9]*)\.[0-9]{1,2}$
连续重复的数字^(\d)\1+$例如:111222
持续更新中...--
  • 字符校验
描述正则表达式备注
中文^[\u4E00-\u9FA5]+$
全角字符^[\uFF00-\uFFFF]+$
半角字符^[\u0000-\u00FF]+$
英文字符串(大写)^[A-Z]+$
英文字符串(小写)^[a-z]+$
英文字符串(不区分大小写)^[A-Za-z]+$
中文和数字^(?:[\u4E00-\u9FA5]{0,}|\d)+$
英文和数字^[A-Za-z0-9]+$
数字、英文字母或者下划线组成的字符串^\w+$
中文、英文、数字包括下划线^[\u4E00-\u9FA5\w]+$
不含字母的字符串^[^A-Za-z]*$
连续重复的字符串^(.)\1+$例如:aabb
长度为n的字符串^.{n}$
ASCII^[ -~]$
持续更新中...--
  • 日期和时间校验
描述正则表达式备注
日期^\d{1,4}-(?:1[0-2]|0?[1-9])-(?:0?[1-9]|[1-2]\d|30|31)$弱校验,例如:2022-06-12
日期^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$严格校验,考虑平闰年
时间^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$12小时制,例如:11:21:31
时间^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$24小时制,例如:23:21:31
日期+时间^(\d{1,4}-(?:1[0-2]|0?[1-9])-(?:0?[1-9]|[1-2]\d|30|31)) ((?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d)$例如:2000-11-11 23:20:21
  • 日常生活相关
描述正则表达式备注
中文名^[\u4E00-\u9FA5·]{2,16}$
英文名^[a-zA-Z][a-zA-Z\s]{0,20}[a-zA-Z]$
车牌号^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]$不含新能源
车牌号^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](?:(?:[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳])|(?:(?:\d{5}[A-HJK])|(?:[A-HJK][A-HJ-NP-Z0-9][0-9]{4})))$包含新能源
火车车次^[GCDZTSPKXLY1-9]\d{1,4}$例如:G1234
手机号^(?:(?:\+|00)86)?1[3-9]\d{9}$弱匹配
手机号^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$严格匹配
固话号码^(?:(?:\d{3}-)?\d{8}|^(?:\d{4}-)?\d{7,8})(?:-\d+)?$
手机IMEI码^\d{15,17}$一般是15位
邮编^(?: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}$
统一社会信用代码^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$
身份证号码(1代)^[1-9]\d{7}(?:0\d|10|11|12)(?:0[1-9]|[1-2][\d]|30|31)\d{3}$15位数字
身份证号码(2代)^[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}[0-9Xx]$18位数字
QQ号^[1-9][0-9]{4,}$
微信号^[a-zA-Z][-_a-zA-Z0-9]{5,19}$
股票代码^(s[hz]|S[HZ])(000[\d]{3}|002[\d]{3}|300[\d]{3}|600[\d]{3}|60[\d]{4})$A股,例如:600519
银行卡卡号^[1-9]{1}(?:\d{15}|\d{18})$一般为19位
  • 互联网相关
描述正则表达式备注
域名^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(?:\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$
网址^(?:https?:\/\/)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(?:\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$
带端口号的网址(或IP)^(?:https?:\/\/)?[\w-]+(?:\.[\w-]+)+:\d{1,5}\/?$例如:http://127.0.0.1:8888/
邮箱email^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(?:\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$支持中文,例如:[email protected]
用户名^[a-zA-Z0-9_-]{4,20}$4到20位
弱密码^[\w]{6,16}$6~16位,包含大小写字母和数字的组合
强密码^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@\.#$%^&*? ]).*$至少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
  • 其他
描述正则表达式备注
MD5格式^(?:[a-f\d]{32}|[A-F\d]{32})$
UUID^[a-f\d]{4}(?:[a-f\d]{4}-){4}[a-f\d]{12}$9419d45a-72b0-4b3c-b61d-20c4bc1c8fds
SQL语句^(?:select|drop|delete|create|update|insert).*$
Java包名^(?:[a-zA-Z_]\w*)+(?:[.][a-zA-Z_]\w*)+$
文件扩展名`.(?:doc|pdftxt)`
Loading...