PHP 正则表达式大全:数字、浮点、字母、邮箱、URL和电话
需积分: 9 61 浏览量
更新于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开发者必备的技能之一,它们在处理用户输入、数据过滤和格式化等方面发挥着重要作用。
点击了解资源详情
121 浏览量
点击了解资源详情
2011-07-01 上传
2010-08-02 上传
2021-10-10 上传
109 浏览量
216 浏览量
2020-12-19 上传

chaihaonan
- 粉丝: 3
最新资源
- Win7系统下的一键式笔记本显示器关闭解决方案
- 免费替代Visio的流程图软件:DiaPortable
- Polymer 2.0封装的LineUp.js交互式数据可视化库
- Kotlin编写的Linux Shell工具Kash:强大而优雅的命令行体验
- 开源海军贸易模拟《OpenPatrician》重现中世纪北海繁荣
- Oracle 11g 32位客户端安装与链接指南
- 创造js实现的色彩识别小游戏「看你有多色」
- 构建Mortal Kombat Toasty展示组件:Stencil技术揭秘
- 仿驱动之家触屏版手机wap硬件网站模板源码
- babel-plugin-inferno:JSX转InfernoJS vNode插件指南
- 软件开发中编码规范的重要性与命名原则
- 免费进销存软件的两个月试用体验
- 树莓派从A到Z的Linux开发完全指南
- 晚霞天空盒资源下载 - 美丽实用的360度全景贴图
- perfandpubtools:MATLAB性能分析与发布工具集
- WPF圆饼图控件源代码分享:轻量级实现