首页 > 编程 > regex > 正文

超常用的PHP正则表达式收集整理

2020-01-20 22:08:02
字体:
来源:转载
供稿:网友

以下就是对超常用的PHP正则表达式进行的收集整理,为了方便大家更快更好的掌握php正则表达式。

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

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

三、匹配数字
只能输入数字:^[0-9]*$
只能输入n位的数字:^/d{n}$
只能输入至少n位数字:^/d{n,}$
只能输入m-n位的数字:^/d{m,n}$
匹配正整数:^[1-9]/d*$
匹配负整数:^-[1-9]/d*$
匹配整数:^-?[1-9]/d*$
匹配非负整数(正整数 + 0):^[1-9]/d*|0$
匹配非正整数(负整数 + 0):^-[1-9]/d*|0$
匹配正浮点数:^[1-9]/d*/./d*|0/./d*[1-9]/d*$
匹配负浮点数:^-([1-9]/d*/./d*|0/./d*[1-9]/d*)$
匹配浮点数:^-?([1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0)$
匹配非负浮点数(正浮点数 + 0):^[1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0$
匹配非正浮点数(负浮点数 + 0):^(-([1-9]/d*/./d*|0/./d*[1-9]/d*))|0?/.0+|0$

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

 提示
上述正则表达式通常都加了 ^ 与 $ 来限定字符的起始和结束,如果需要匹配的内容包括在字符串当中,可能需要考虑去掉 ^ 和 $ 限定符。
以上正则表达式仅供参考,使用时请检验后再使用,希望通过这些超常用的PHP正则表达式

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表