目录

裴先生
裴先生
发布于 2020-10-03 / 3 阅读
1
0

常用正则表达式大全:数字、字符、邮箱、手机号、身份证等校验规则速查

原创

常用正则表达式速查手册

一、校验数字的表达式

描述正则表达式
任意数字(包括空字符串)^[0-9]*$
n 位数字^\d{n}$
至少 n 位数字^\d{n,}$
m 到 n 位数字^\d{m,n}$
零或非零开头的数字^(0|[1-9][0-9]*)$
非零开头、最多带两位小数的数字^([1-9][0-9]*)+(\.[0-9]{1,2})?$
带 1~2 位小数的正数或负数^(-)?\d+(\.\d{1,2})?$
正数、负数、小数(可带符号)^(-|+)?\d+(\.\d+)?$
有两位小数的正实数^[0-9]+(\.[0-9]{2})?$
有 1~3 位小数的正实数^[0-9]+(\.[0-9]{1,3})?$
非零正整数^[1-9]\d*$^\+?[1-9][0-9]*$
非零负整数^-[1-9]\d*$
非负整数(含 0)^\d+$^[1-9]\d*|0$
非正整数(含 0)^-[1-9]\d*|0$
非负浮点数^\d+(\.\d+)?$
非正浮点数^((-\d+(\.\d+)?)|(0+(\.0+)?))$
正浮点数^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
负浮点数^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$
浮点数(含正负)^(-?\d+)(\.\d+)?$

⚠️ 注:部分原始表达式存在语法错误(如缺少转义 \.、括号不匹配等),已按常规正则语义修正。


二、校验字符的表达式

描述正则表达式
汉字^[\u4e00-\u9fa5]{0,}$
英文和数字^[A-Za-z0-9]+$
长度为 3–20 的任意字符^.{3,20}$
纯英文字母^[A-Za-z]+$
纯大写英文字母^[A-Z]+$
纯小写英文字母^[a-z]+$
数字 + 英文字母^[A-Za-z0-9]+$
数字 + 字母 + 下划线(即 \w^\w+$
中文 + 英文 + 数字 + 下划线^[\u4E00-\u9FA5A-Za-z0-9_]+$
中文 + 英文 + 数字(不含下划线)^[\u4E00-\u9FA5A-Za-z0-9]+$
禁止包含 ^%&',;=?$" 等字符[^%&',;=?$\x22]+
禁止包含 ~ 字符[^~\x22]+

三、特殊需求表达式

用途正则表达式
Email 地址^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
域名[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?
URL(简单)[a-zA-Z]+://[^\s]*
URL(HTTP 详细)^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
手机号码(中国大陆)^(13[0-9]|14[57]|15[0-9]|18[0-9])\d{8}$
国内固定电话(如 0511-4405222)\d{3}-\d{8}|\d{4}-\d{7}
通用电话号码(支持区号、分机)^(\d{11}|((\d{7,8})|(\d{3,4})-(\d{7,8})(-(\d{1,4}))?))$
身份证号(15/18 位,末位可为 X)(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|[Xx])$)
账号(字母开头,5–16 字节,字母/数字/下划线)^[a-zA-Z][a-zA-Z0-9_]{4,15}$
密码(字母开头,6–18 位,仅字母/数字/下划线)^[a-zA-Z]\w{5,17}$
强密码(必须含大小写字母+数字,特殊字符,8–10 位)^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$
强密码(必须含大小写字母+数字,可含特殊字符,8–10 位)^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
日期格式(YYYY-MM-DD)^\d{4}-\d{1,2}-\d{1,2}$
月份(01–12 或 1–12)^(0?[1-9]|1[0-2])$
日期(1–31)^((0?[1-9])|((1|2)[0-9])|30|31)$
XML 文件名^([a-zA-Z]+-?)+[a-zA-Z0-9]+\.[xX][mM][lL]$
中文字符[\u4e00-\u9fa5]
双字节字符(含汉字)[^\x00-\xff]
空白行\n\s*\r
HTML 标签<(\S*?)[^>]*>.*?</\1>|<.*? />
行首/行尾空白字符^\s*|\s*$
腾讯 QQ 号(≥10000)[1-9][0-9]{4,}
中国邮政编码(6 位)[1-9]\d{5}(?!\d)
IPv4 地址((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}

原创

版权声明:本博客原创文章,由 裴先生 2020年10月03日 发表。
转载说明:除特殊说明外本站文章皆由 CC BY-NC-SA 4.0 协议发布,转载须注明出处。


评论