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

作者:lijiao 时间:2024-05-03 15:35:57 

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

标签:php,正则表达式
0
投稿

猜你喜欢

  • MySQL查询倒数第二条记录实现方法

    2024-01-26 07:15:50
  • windows支持哪个版本的python

    2023-05-15 08:42:16
  • JavaScript prototype属性深入介绍

    2024-04-19 09:55:08
  • SQL服务器无法启动的解决方法

    2024-01-16 04:47:20
  • python程序中调用其他程序的实现

    2021-08-07 12:33:16
  • 教你怎样打造SQL Server2000的安全策略

    2009-01-23 14:03:00
  • Python对象的属性访问过程详解

    2023-09-02 13:40:04
  • Pytorch基本变量类型FloatTensor与Variable用法

    2022-10-10 21:14:45
  • JQuery对ASP.NET MVC数据进行更新删除

    2024-06-05 09:32:05
  • python正则表达式之对号入座篇

    2021-03-31 17:59:55
  • pygame库实现俄罗斯方块小游戏

    2022-09-11 10:43:37
  • asp ajax注册验证之 防止用户名输入空格

    2011-03-11 11:17:00
  • Python读写/追加excel文件Demo分享

    2021-11-11 15:35:41
  • pytorch实现手写数字图片识别

    2021-04-20 12:46:58
  • python实现ip地址查询经纬度定位详解

    2021-09-13 08:01:52
  • laravel 解决crontab不执行的问题

    2023-11-15 01:45:18
  • 浅谈一下mysql数据库底层原理

    2024-01-27 21:19:39
  • Java连接数据库步骤解析(Oracle、MySQL)

    2024-01-18 09:42:22
  • 分页存储过程(用存储过程实现数据库的分页代码)

    2024-01-20 05:22:57
  • Python判断一个三位数是否为水仙花数的示例

    2021-11-06 06:14:13
  • asp之家 网络编程 m.aspxhome.com