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

 更新时间:2015年11月13日 15:03:57   投稿:lijiao  
这篇文章为大家分享了超常用的PHP正则表达式,包括表单验证匹配、字符匹配、数字匹配等,对正则表达式进行分类整理,感兴趣的小伙伴们可以参考一下

以下就是对超常用的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正则表达式

相关文章

  • Android中手机号、车牌号正则表达式大全

    Android中手机号、车牌号正则表达式大全

    这篇文章主要介绍了Android中手机号、车牌号正则表达式的相关资料,需要的朋友可以参考下
    2015-09-09
  • DW 查找某字符串前的所有字符的正则表达式

    DW 查找某字符串前的所有字符的正则表达式

    我使用DW 这个所见所得的编辑器来写html时,喜欢写上注释,如<!-- header --> 等等的注释,在一次比较大的改动时,需要批量查找替换,为了批量操作,于是我写了一个正则表达式来进行处理
    2012-10-10
  • php中正则替换函数ereg_replace用法实例

    php中正则替换函数ereg_replace用法实例

    这篇文章主要介绍了php中正则替换函数ereg_replace用法,以实例形式分析了ereg_replace函数进行正则替换时的用法,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • 最新手机号码、电话号码正则表达式

    最新手机号码、电话号码正则表达式

    相信大家对正则表达式一定都有所了解和研究,这篇文章主要为大家分享了最新验证手机号码和电话号码的正则表达式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • 正则表达式[\s\S]*与[\w\W]* 什么意思

    正则表达式[\s\S]*与[\w\W]* 什么意思

    很多人咨询[\s\S]*与[\w\W]* 什么意思,不是有.了吗,那么它们的组合,表示所有的都匹配,与它相对应的,有[\w\W]等,意义完全相同,需要的朋友可以参考下
    2020-03-03
  • asp正则表达式匹配数字$数字$数字$

    asp正则表达式匹配数字$数字$数字$

    用asp实现的匹配:数字$数字$数字$...... 的正则
    2008-04-04
  • 使用Linux正则表达式灵活搜索文件中的文本

    使用Linux正则表达式灵活搜索文件中的文本

    作为一个Linux管理员,您需要对文本文件进行处理。您可以使用不同的工具如grep、awk以及sed去查找包含特定文本串的文件。这里,我将介绍一种使用正则表达式,以灵活的方式,去搜索文件中的文本的方法。
    2015-10-10
  • Android 2018最新手机号验证正则表达式方法

    Android 2018最新手机号验证正则表达式方法

    这篇文章主要介绍了Android 2018最新手机号验证正则表达式方法,需要的朋友可以参考下
    2018-03-03
  • 深入浅出正则表达式中的边界\b和\B

    深入浅出正则表达式中的边界\b和\B

    对于正则表达式的中\B和\b 有些地方会出现弄不懂的情况,所以查找资料学习了一番,下面这篇文章主要给大家介绍了关于正则表达式中边界\b和\B的相关资料,需要的朋友可以参考下
    2021-10-10
  • 一个正则表达式的看法(?:)

    一个正则表达式的看法(?:)

    下午和kindle聊天的时候,他让我看一个正则,问我知不知道其中?:的作用,以偶半瓶水的正则功力,不知道杂解释给他听了,单个一个还好理解,一起就不明白了,起码我是没用过..查了下资料,说说我的看法..
    2010-12-12

最新评论