PHP常用正则表达式汇总

本文汇总了各种类型的正则表达式,包括整数、浮点数、字符串等常见格式的匹配规则,适用于验证输入数据的有效性和正确性。

匹配 整数

"^-?\d+$"

匹配 正整数

"^[0-9]*[1-9][0-9]*$"

匹配 负整数

"^-[0-9]*[1-9][0-9]*$"

匹配 非负整数(正整数 + 0)

"^\d+$"

匹配 非正整数(负整数 + 0)

"^((-\d+)|(0+))$"

匹配 浮点数

"^(-?\d+)(\.\d+)?$"

匹配 正浮点数

"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"

匹配 负浮点数

"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"

匹配 非负浮点数(正浮点数 + 0)

"^\d+(\.\d+)?$"

匹配 非正浮点数(负浮点数 + 0)

"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"

匹配 小数

(-?\d*)\.?\d+

匹配 任意数字

 (-?\d*)(\.\d+)?

匹配 英文字符串

"^[A-Za-z]+$"

匹配 英文大写字符串

"^[A-Z]+$"

匹配 英文小写字符串

"^[a-z]+$"

匹配 数字英文字符串

"^[A-Za-z0-9]+$"

匹配 下划线数字英文字符串

"^\w+$"

匹配 中文、英文、数字及下划线

^[\u4e00-\u9fa5_a-zA-Z0-9]+$

匹配 E-mail地址

^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
​
w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
​
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
​
^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$

匹配 网址URL

http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?
​
http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
​
^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$
​
(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?
​
^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$
​
^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$

匹配 信息中的图片链接

(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

匹配 年-月-日

/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/

匹配 月/日/年

/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/

匹配 邮政编码

^[1-9]\d{5}$

匹配 中国邮政编码

[1-9]{1}(\d+){5}

匹配 固定电话区号

/^0\d{2,3}$/

匹配 固定电话号码

/^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/
​
^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$

匹配 中国固定电话号码

(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}

匹配 手机号码

^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$

匹配 中国手机号码

(86)*0*13\d{9}

匹配 中国电话号码(包括移动和固定电话)

(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}
​
(\d{3}-|\d{4}-)?(\d{8}|\d{7})?

匹配 IP地址

"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"
​
/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //
​
(\d+)\.(\d+)\.(\d+)\.(\d+)

匹配 中文字符

[\u4e00-\u9fa5]
​
^[\u0391-\uFFE5]+$

匹配 双字节字符(包括汉字)

[^\x00-\xff]

匹配 空行

\n[\s| ]*\r

匹配 HTML标记

<(.*)>.*<\/\1>|<(.*) \/>

匹配 首尾空格

(^\s*)|(\s*$)

匹配 帐号是否合法

字母开头,字母数字下划线组成的5-16字节
^[a-zA-Z][a-zA-Z0-9_]{4,15}$

匹配 腾讯QQ号

^[1-9]*[1-9][0-9]*$

匹配 SQL语句

^(select|drop|delete|create|update|insert).*$

正则 限制只能输入中文

onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"

正则 限制只能输入全角字符

onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"

正则 限制只能输入数字

onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"

正则 限制只能输入数字和英文

onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

withoutfear

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值