Maison >développement back-end >tutoriel php >PHP常见正则表达式总结

PHP常见正则表达式总结

WBOY
WBOYoriginal
2016-06-20 13:03:441158parcourir

正则表达式这东西,学起来还算是有点难度,关键是要不断的在实战中去使用,个把月不用,基本上就快生疏了。作者可是有这个惨痛经历的,所以对于这个东西,还是靠积累!尽量多积累一些比较常用的正则表达式,用的时候直接拿来使用。

web开发中比较常用的也就那么几个。

下面作者将工作中常用的一些正则表达式做一个总结。

网址(URL)

[a-zA-z]+://[^\s]*

IP地址

(IP Address)((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)

电子邮件

(Email)\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

QQ号码

[1-9]\d{4,}

HTML标记(包含内容或自闭合)

.*|

密码(由数字/大写字母/小写字母/标点符号组成,四种都必有,8位以上)

(?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$

日期(年-月-日)

(\d{4}|\d{2})-((0?([1-9]))|(1[1|2]))-((0?[1-9])|([12]([1-9]))|(3[0|1]))

日期(月/日/年)

((0?[1-9]{1})|(1[1|2]))/(0?[1-9]|([12][1-9])|(3[0|1]))/(\d{4}|\d{2})

时间(小时:分钟, 24小时制)

((1|0?)[0-9]|2[0-3]):([0-5][0-9])汉字(字符)[\u4e00-\u9fa5]

中文及全角标点符号(字符)

[\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]

中国大陆固定电话号码

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

中国大陆手机号码

1\d{10}

中国大陆邮政编码

[1-9]\d{5}

中国大陆身份证号(15位或18位)

\d{15}(\d\d[0-9xX])?

非负整数(正整数或零)

\d+

正整数

[0-9]*[1-9][0-9]*

负整数

-[0-9]*[1-9][0-9]*

整数

-?\d+小数(-?\d+)(\.\d+)?

以上正则表达式经过多次测试,靠谱度还是挺高的,大家可以放心使用。但因为不同程序或工具的正则表达式略有区别,大家可以根据自己的情况适当的修改。


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn