PHP 正则表达式大全:数字、浮点、字母、邮箱、URL和电话
需积分: 9 178 浏览量
更新于2024-09-11
收藏 49KB DOC 举报
本文主要介绍了PHP中常用的正则表达式,包括对整数、浮点数、字母组合、邮箱地址、URL以及电话号码等常见格式的验证规则。
在PHP开发中,正则表达式是一种强大的文本处理工具,常用于数据验证、搜索与替换等场景。以下是一些常见的PHP正则表达式及其用途:
1. **非负整数验证**:"^\d+$" - 这个表达式用于匹配非负整数,包括0,例如:0, 123, 4567。
2. **正整数验证**:"^[0-9]*[1-9][0-9]*$" - 该表达式用于验证正整数,不包括0,例如:1, 23, 456。
3. **非正整数验证**:"^((-\d+)|(0+))$" - 用于验证非正整数,即负整数和0。
4. **负整数验证**:"^-[0-9]*[1-9][0-9]*$" - 用于匹配负整数,例如:-1, -123。
5. **整数验证**:"^-?\d+$" - 包含了正整数、负整数和0的验证。
6. **非负浮点数验证**:"^\d+(\.\d+)?$" - 匹配非负浮点数,如:0.1, 123.45。
7. **正浮点数验证**:"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$" - 用于验证正浮点数,排除了仅包含小数点的情况。
8. **非正浮点数验证**:"^((-\d+(\.\d+)?)|(0+(\.0+)?))$" - 包括负浮点数和0。
9. **负浮点数验证**:"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" - 用于验证负浮点数。
10. **浮点数验证**:"^(-?\d+)(\.\d+)?$" - 包括所有正负浮点数和整数。
除了数字相关的验证,还有其他一些常见的正则表达式:
11. **全英文字符串验证**:"^[A-Za-z]+$" - 只包含26个英文字母的字符串。
12. **全大写英文字符串验证**:"^[A-Z]+$" - 只包含26个大写字母的字符串。
13. **全小写英文字符串验证**:"^[a-z]+$" - 只包含26个小写字母的字符串。
14. **数字与英文混合字符串验证**:"^[A-Za-z0-9]+$" - 由数字和26个英文字母组成的字符串。
15. **数字、字母、下划线混合字符串验证**:"^\w+$" - 由数字、26个英文字母或下划线组成的字符串。
16. **邮箱地址验证**:"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$" - 根据标准格式验证电子邮件地址。
17. **URL验证**:"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$" - 验证URL格式是否正确。
18. **日期格式验证**:
- "^(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})$" - 月/日/年格式。
19. **电话号码验证**:"^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$" - 匹配多种格式的电话号码。
这些正则表达式在PHP中可以结合`preg_match()`函数使用,用于输入数据的验证,确保数据符合预期的格式,从而提高程序的安全性和稳定性。例如:
```php
$number = '12345678';
if (preg_match('/^\d+$/', $number)) {
echo '输入的是非负整数';
} else {
echo '输入不符合非负整数格式';
}
```
理解并熟练运用这些正则表达式是PHP开发者必备的技能之一,它们在处理用户输入、数据过滤和格式化等方面发挥着重要作用。
2010-02-28 上传
207 浏览量
312 浏览量
2021-10-10 上传
104 浏览量
126 浏览量
2020-12-19 上传
点击了解资源详情
![](https://profile-avatar.csdnimg.cn/1bf40be220fc4b058af8e356ee15a306_chaihaonan.jpg!1)
chaihaonan
- 粉丝: 3
最新资源
- Qt智能停车场系统的设计与实现
- 谭浩强C语言程序设计案例集
- Objective-C 实现即时Base64编码的MTBase64InputStream
- 基于SSM框架的零食商城系统毕业设计
- 大华秤串口通信协议详解
- 隐身侠:保护电脑私密信息的最佳选择
- 分享TR069协议的简易实现源码
- Java打字练习软件源码及文档:速度与准确率统计
- React项目实战:freeCodeCamp前端计算器解决方案
- 构建完美联系页面:HTML与CSS的结合技巧
- 最小的PHP实时控制台工具 - live-console
- 无聊桌面v2.1.0:高效桌面管理与快捷启动工具
- HTML图形化教程核心概念解析
- CNN-F-Protein-Docking: 结合反馈机制提升蛋白质对接准确性
- Delphi源码合集:包含管理系统与工具开发
- STM32 SPI从机通信的实现与配置