常用正则表达式汇总,本文对常用的正则表达式进行了汇总,开发的时候可以直接使用,提高效率。

密码验证类
- 6-16位字符,区分大小写(不能是9位以下的纯数字,不含空格):
^(?!\d{6,8})(?! )(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9_]{6,16} - 6-16位字符,区分大小写(不能是9位以下的纯数字,不含空格),必须包含大写字母:
^(?!\d{6,8})(?! )(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9_]{6,16} - 密码不能为纯数字或字母,不少于6位:
^(?![0-9]+)(?![a-zA-Z]+)[0-9A-Za-z]{6,}$
号码验证类
- 验证微信号:
^[a-zA-Z]{1}[-_a-zA-Z0-9]{5,19}$ - 腾讯QQ号码:
[1-9][0-9]{4,} - 国内电话号码:
\d{3}-\d{8}|\d{4}-\{7,8} - 带中划线的手机号码:
^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$ - 普通手机号码:
^1[34578]\d{9}$ - 普通电话、传真号码:可以“+”开头,除数字外,可含有“-”:
^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$ - 18位身份证号码:
^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X|x)$ - 中国邮政编码:
[1-9]\d{5}(?!\d)
地址类
- IP地址:
(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d).(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d).(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d).(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d) - URL:
[a-zA-z]+://[^\s]* - 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})+/.?
数字类
- 验证数字:
^[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+))$ - 验证长度为3的字符:
^.{3}$ - 验证由26个英文字母组成的字符串:
^[A-Za-z]+$ - 验证由26个大写英文字母组成的字符串:
^[A-Z]+$ - 验证由26个小写英文字母组成的字符串:
^[a-z]+$ - 验证由数字和26个英文字母组成的字符串:
^[A-Za-z0-9]+$ - 验证由数字、26个英文字母或者下划线组成的字符串:
^\w+$ - 验证用户密码:
^[a-zA-Z]\w{5,17}$正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 - 验证是否含有
^%&',;=?$\"等字符:[^%&',;=?$\x22]+ - 验证汉字:
^[\u4e00-\u9fa5],{0,}$ - 验证Email地址:
^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ - 验证InternetURL:
^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)? - 验证电话号码:
^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。 - 验证身份证号(15位或18位数字):
^\d{15}|\d{}18$ - 验证一年的12个月:
^(0?[1-9]|1[0-2])$正确格式为:“01”-“09”和“1”“12” - 验证一个月的31天:
^((0?[1-9])|((1|2)[0-9])|30|31)$正确格式为:01、09和1、31。 - 整数:
^-?\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+)?$
字符类
- 汉字:
^[\u4e00-\u9fa5]{0,}$ - 英文和数字:
^[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]+
身份证号
- 15或18位身份证:
^\d{15}|\d{18}$ - 15位身份证:
^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$ - 18位身份证:
^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$
其他
- 匹配2018-10-10格式的日期:
^[1-9]\d{3}-([1-9]|1[0-2])-([1-9]|[1-2]\d|3[01])$ - 验证文件扩展名:
^.*?\.(html|css|jpg)$ - 匹配中文字符:
[\u4e00-\u9fa5] - xml文件:
^([a-zA-Z]+-?)+[a-zA-Z0-9]+.[x|X][m|M][l|L]$ - HTML标记的正则表达式:
<(S*?)[^>]*>.*?</1>|<.*? /> - 首尾空白字符的正则表达式:
^s*|s*或(^s*)|(s*) - 一年的12个月(01~09和1~12):
^(0?[1-9]|1[0-2])$ - 一个月的31天(01~09和1~31):
^((0?[1-9])|((1|2)[0-9])|30|31)$
极客教程相关文章推荐:
正则表达式排除字符
正则表达式匹配多个字符中的一个
正则表达式匹配特殊字符
正则表达式匹配任意字符
正则表达式 – 元字符
极客教程