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
10匹配国内电话号码:^d{3}-d{8}|d{4}-d{7,8}$
11评注:匹配形式如 010-12345678 或 0571-12345678 或 0831-1234567
12
13匹配中国邮政编码:^[1-9]d{5}(?!d)$
14
15匹配身份证:d{14}(d{4}|(d{3}[xX])|d{1})
16评注:中国的身份证为 15 位或 18 位
17
18不能为空且二十字节以上:^[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匹配任何内容:[sS]*
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*?)[^>]*>.*?|<.*? />
2匹配网址 URL :[a-zA-z]+://[^s]*
3匹配 IP 地址:((25[0-5]|2[0-4]d|[01]?dd?).){3}(25[0-5]|2[0-4]d|[01]?dd?)
4匹配完整域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?
提示
- 上述正则表达式通常都加了 ^ 与 $ 来限定字符的起始和结束,如果需要匹配的内容包括在字符串当中,可能需要考虑去掉 ^ 和 $ 限定符。
- 以上正则表达式仅供参考,使用时请检验后再使用
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/php-regular-example/2522.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.