全面总结:正则表达式数字与字符验证
需积分: 50 137 浏览量
更新于2024-09-09
收藏 21KB DOCX 举报
"常用正则表达式集合,用于校验各种数字格式和字符类型"
正则表达式是编程中一种强大的文本处理工具,用于匹配、查找、替换等操作。这里整理的是在项目中常见的用于验证数字和字符的正则表达式模板。
1. 数字验证:
- `^[0-9]*$`:匹配任何长度的数字串。
- `^\d{n}$`:匹配精确n位的数字。
- `^\d{n,}$`:匹配至少n位的数字。
- `^\d{m,n}$`:匹配m到n位的数字。
- `^(0|[1-9][0-9]*)$`:匹配零或非零开头的数字。
- `^([1-9][0-9]*)+(.[0-9]{1,2})?$`:匹配非零开头且最多带两位小数的数字。
- `^(\-)?\d+(\.\d{1,2})?$`:匹配正负数,带有1-2位小数。
- `^(\-|\+)?\d+(\.\d+)?$`:匹配正负数或小数。
- `^[0-9]+(.[0-9]{2})?$`:匹配有两位小数的正实数。
- `^[0-9]+(.[0-9]{1,3})?$`:匹配有1-3位小数的正实数。
- `^[1-9]\d*$` 或 `^([1-9][0-9]*){1,3}$` 或 `^\+?[1-9][0-9]*$`:匹配非零的正整数。
- `^\-[1-9][]0-9"*$` 或 `^-[1-9]\d*$`:匹配非零的负整数。
- `^\d+$` 或 `^[1-9]\d*|0$`:匹配非负整数。
- `^-[1-9]\d*|0$` 或 `^((-\d+)|(0+))$`:匹配非正整数。
- `^\d+(\.\d+)?$` 或 `^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$`:匹配非负浮点数。
- `^((-\d+(\.\d+)?)|(0+(\.0+)?))$` 或 `^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$`:匹配非正浮点数。
- `^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$` 或 `^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$`:匹配正浮点数。
- `^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$` 或 `^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$`:匹配负浮点数。
- `^(-?\d+)(\.\d+)?$` 或 `^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$`:匹配浮点数。
2. 字符验证:
- `^[\u4e00-\u9fa5]{0,}$`:匹配任意数量的汉字。
- `^[A-Za-z0-9]+$`:匹配英文和数字的组合。
- `^[a-zA-Z]+$`:仅匹配英文。
- `^[a-zA-Z0-9_]+$`:匹配英文、数字和下划线。
- `^\w+$`:与上面相同,\w代表字母、数字和下划线。
- `^\s+$`:匹配空白字符,如空格、制表符等。
- `^[^@]+@[^@]+\.[^@]+$`:匹配电子邮件地址。
这些正则表达式可以帮助你在开发中快速校验用户输入、数据清洗、格式验证等场景,确保数据的正确性和规范性。在实际应用时,可能需要根据具体需求进行适当的修改和调整。例如,如果需要限制电话号码格式,可以基于数字的正则表达式进行定制。在使用正则表达式时,理解每个部分的作用以及如何组合这些部分是非常重要的,这将有助于创建更复杂和精确的匹配规则。
490 浏览量
117 浏览量
161 浏览量
164 浏览量
162 浏览量
2023-05-23 上传
144 浏览量

qq_31658347
- 粉丝: 1
最新资源
- webacus工具实现自动页面生成与报表导出功能
- 深入理解FAT32文件系统及其数据存储与管理
- 玛纳斯·穆莱全栈Web开发学习与WakaTime统计
- mini翼虎播放器官方安装版:CG视频教程全能播放器
- CoCreate-pickr:轻便的JavaScript选择器组件指南与演示
- 掌握Xdebug 5.6:PHP代码调试与性能追踪
- NLW4节点项目:使用TypeORM和SQLite进行用户ID管理
- 深入了解Linux Bluetooth开源栈bluez源代码解析
- STM32与A7105射频芯片的点对点收发控制实现
- 微信高仿项目实践:FragmentUtil使用与分析
- 官方发布的CG视频教程播放器 mini翼虎x32v2015.7.31.0
- 使用python-lambder自动化AWS Lambda计划任务
- 掌握异步编程:深入学习JavaScript的Ajax和Fetch API
- LTC6803电池管理系统(BMS)经典程序解析
- 酷音传送v2.0.1.4:正版网络音乐平台,歌词同步功能
- Java面向对象编程练习:多态在游戏对战模拟中的应用