PHP中的一些常用正则表达式

匹配表单验证

 1 验证账号,字母开头,允许 5-16 字节,允许字母数字下划线:^[a-zA-Z][a-zA-Z0-9_]{4,15}$
 2 验证账号,不能为空,不能有空格,只能是英文字母:^\S+[a-z A-Z]$
 3 验证账号,不能有空格,不能非数字:^\d+$
 4 验证用户密码,以字母开头,长度在 6-18 之间:^[a-zA-Z]\w{5,17}$
 5 验证是否含有 ^%&',;=?$\ 等字符:[^%&',;=?$\x22]+
 6 匹配Email地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
 7 匹配腾讯QQ号:[1-9][0-9]{4,}
 8 匹配日期,只能是 2004-10-22 格式:^\d{4}\-\d{1,2}-\d{1,2}$
 9 匹配国内电话号码(匹配形式如 010-12345678 或 0571-12345678 或 0831-1234567):^\d{3}-\d{8}|\d{4}-\d{7,8}$
10 匹配中国邮政编码:^[1-9]\d{5}(?!\d)$
11 匹配身份证(中国的身份证为 15 位或 18 位):\d{14}(\d{4}|(\d{3}[xX])|\d{1})
12 不能为空且二十字节以上:^[\s|\S]{20,}$

 

字符匹配

 1 匹配由 26 个英文字母组成的字符串:^[A-Za-z]+$
 2 匹配由 26 个大写英文字母组成的字符串:^[A-Z]+$
 3 匹配由 26 个小写英文字母组成的字符串:^[a-z]+$
 4 匹配由数字和 26 个英文字母组成的字符串:^[A-Za-z0-9]+$
 5 匹配由数字、26个英文字母或者下划线组成的字符串:^\w+$
 6 匹配空行:\n[\s| ]*\r
 7 匹配任何内容:[\s\S]*
 8 匹配中文字符:[\x80-\xff]+ 或者 [\xa1-\xff]+
 9 只能输入汉字:^[\x80-\xff],{0,}$
10 匹配双字节字符(包括汉字在内):[^\x00-\xff]

数字匹配

 1 只能输入数字:^[0-9]*$
 2 只能输入n位的数字:^\d{n}$
 3 只能输入至少n位数字:^\d{n,}$
 4 只能输入m-n位的数字:^\d{m,n}$
 5 匹配正整数:^[1-9]\d*$
 6 匹配负整数:^-[1-9]\d*$
 7 匹配整数:^-?[1-9]\d*$
 8 匹配非负整数(正整数 + 0):^[1-9]\d*|0$
 9 匹配非正整数(负整数 + 0):^-[1-9]\d*|0$
10 匹配正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
11 匹配负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$
12 匹配浮点数:^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
13 匹配非负浮点数(正浮点数 + 0):^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
14 匹配非正浮点数(负浮点数 + 0):^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$

其他

1 匹配HTML标记的正则表达式(无法匹配嵌套标签):<(\S*?)[^>]*>.*?</\1>|<.*? />
2 匹配网址 URL :[a-zA-z]+://[^\s]*
3 匹配 IP 地址:((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)
4 匹配完整域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?

 

posted @ 2016-11-08 14:49  欲语与雨  阅读(316)  评论(0编辑  收藏  举报