常用
正则表达式 | 描述 |
---|---|
/\b([a-z]+) \1\b/gi | 一个单词连续出现的位置 |
/(\w+)://([/:]+)(:\d*)?([# ]*)/ | 将一个URL解析为协议、域、端口及相对路径 |
/^(?:Chapter | Section) [1-9][0-9]{0,1}$/ |
/[-a-z]/ | a至z共26个字母再加一个-号 |
/ter\b/ | 可匹配chapter,而不能匹配terminal |
/\Bapt/ | 可匹配chapter,而不能匹配aptitude |
/Windows(?=95 | 98 |
/^\s*$/ | 匹配空行 |
/\d{2}-\d{5}/ | 验证由两位数字、一个连字符再加 5 位数字组成的 ID 号 |
/<\s(\S+)(\s[^>])?>[\s\S]<\s/\1\s*>/ | 匹配 HTML 标记 |
校验数字的表达式
正则表达式 | 描述 |
---|---|
^[0-9]*$ | 数字 |
^\d{n}$ | 至少n位的数字 |
^\d{m,n}$ | m-n位的数字 |
^(0|[1-9][0-9]*)$ | 零和非零开头的数字 |
^([1-9][0-9]*)+(\.[0-9]{1,2})?$ | 非零开头的最多带两位小数的数字 |
^(\-)?\d+(\.\d{1,2})$ | 带1-2位小数的正数或负数 |
^(\-|\+)?\d+(\.\d+)?$ | 正数、负数、和小数 |
^[0-9]+(\.[0-9]{2})?$ | 有两位小数的正实数 |
^[0-9]+(\.[0-9]{1,3})?$ | 有1~3位小数的正实数 |
^[1-9]\d*$, ^([1-9][0-9]*){1,3}$, ^\+?[1-9][0-9]*$ | 非零的正整数 |
^\-[1-9][]0-9"*$, ^-[1-9]\d*$ | 非零的负整数 |
^\d+$, ^[1-9]\d*|0$ | 非负整数 |
^-[1-9]\d*|0$, ^((-\d+)|(0+))$ | 非正整数 |
^\d+(\.\d+)?$, ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ | 非负浮点数 |
^((-\d+(\.\d+)?)|(0+(\.0+)?))$, ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ | 非正浮点数 |
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$, ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ | 正浮点数 |
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$, ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ | 负浮点数 |
^(-?\d+)(\.\d+)?$, ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ | 浮点数 |
校验字符的表达式
正则表达式 | 描述 |
---|---|
^[\u4e00-\u9fa5]{0,}$ | 汉字 |
[A-Za-z0-9]+$,[A-Za-z0-9]{4,40}$ | 英文和数字 |
^.{3,20}$ | 长度为3-20的所有字符 |
^[A-Za-z]+$ | 由26个英文字母组成的字符串 |
^[A-Z]+$ | 由26个大写英文字母组成的字符串 |
^[a-z]+$ | 由26个小写英文字母组成的字符串 |
^[A-Za-z0-9]+$ | 由数字和26个英文字母组成的字符串 |
^\w+$, ^\w{3,20}$ | 由数字、26个英文字母或者下划线组成的字符串 |
^[\u4E00-\u9FA5A-Za-z0-9_]+$ | 中文、英文、数字包括下划线 |
^[\u4E00-\u9FA5A-Za-z0-9]+$, ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$ | 中文、英文、数字但不包括下划线等符号 |
[^%&',;=?$\x22]+ | 可以输入含有^%&',;=?$"等字符 |
[^~\x22]+ | 禁止输入含有~的字符 |
特殊需求表达式
正则表达式 | 描述 |
---|---|
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ | Email地址 |
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.? | 域名 |
[a-zA-z]+://[^\s]*, ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ | InternetURL |
^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$ | 手机号码 |
^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$ | 电话号码: XXX-XXXXXXX, XXXX-XXXXXXXX, XXX-XXXXXXX, XXX-XXXXXXXX, XXXXXXX, XXXXXXXX |
\d{3}-\d{8}|\d{4}-\d{7} | 国内电话号码 |
((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$) | 电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号) |
(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$) | 身份证号(15位、18位数字),最后一位是校验位,可能为数字或字符X |
^[a-zA-Z][a-zA-Z0-9_]{4,15}$ | 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线) |
^[a-zA-Z]\w{5,17}$ | 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线) |
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ | 强密码(必须包含大小写字母和数字的组合,可以使用特殊字符,长度在8-16之间) |
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,16}$ | 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在 8-16之间) |
^\d{4}-\d{1,2}-\d{1,2} | 日期格式 |
^(0?[1-9]|1[0-2])$ | 一年的12个月(01~09和1~12) |
^((0?[1-9])|((1|2)[0-9])|30|31)$ | 一个月的31天(01~09和1~31) |
^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$ | xml文件 |
[\u4e00-\u9fa5] | 中文字符的正则表达式 |
[^\x00-\xff] | 双字节字符(包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)) |
\n\s*\r | 空白行的正则表达式 |
/<\s(\S+)(\s[^>])?>[\s\S]<\s/\1\s*>/ | HTML标记的正则表达式 |
[1-9][0-9]{4,} | 腾讯QQ号 |
[1-9]\d{5}(?!\d) | 中国邮政编码 |
((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} | IPv4地址 |