首页 > 开发 > PHP > 正文

PHP最常用的正则表达式

2024-05-04 22:49:16
字体:
来源:转载
供稿:网友

一、校验数字的表达式

数字:^[0-9]*$

n位的数字:^/d{n}$

至少n位的数字:^/d{n,}$

m-n位的数字:^/d{m,n}$

零和非零开头的数字:^(0|[1-9][0-9]*)$

非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$

带1-2位小数的正数或负数:^(/-)?/d+(/./d{1,2})?$

正数、负数、和小数:^(/-|/+)?/d+(/./d+)?$

有两位小数的正实数:^[0-9]+(.[0-9]{2})?$

有1~3位小数的正实数:^[0-9]+(.[0-9]{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}$

由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]+

禁止输入含有~的字符:[^~/x22]+

三、特殊需求表达式

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})+/.?

InternetURL:[a-zA-z]+://[^/s]* 或 ^http://([/w-]+/.)+[/w-]+(/[/w-./?%&=]*)?$

手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])/d{8}$

电话号码(“XXX-XXXXXXX”、”XXXX-XXXXXXXX”、”XXX-XXXXXXX”、”XXX-XXXXXXXX”、”XXXXXXX”和”XXXXXXXX):^($$/d{3,4}-)|/d{3.4}-)?/d{7,8}$

国内电话号码(0511-4405222、021-87888822):/d{3}-/d{8}|/d{4}-/d{7}

身份证号(15位、18位数字):^/d{15}|/d{18}$

短身份证号码(数字、字母x结尾):^([0-9]){7,18}(x|X)?$ 或 ^/d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$

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