Java正则表达式大全:输入验证与数据校验
需积分: 9 22 浏览量
更新于2024-09-28
收藏 59KB DOC 举报
"这篇资源主要收集了Java开发中常用的正则表达式,用于文本框输入内容的控制和验证。涵盖的正则表达式包括但不限于整数、小数、数字限制、字母组合、特殊字符限制、汉字、邮箱地址、网址、电话号码以及身份证号等。这些正则表达式可以帮助开发者有效地验证用户输入的数据格式,确保数据的正确性和安全性。"
正则表达式是编程语言中用于模式匹配的强大工具,尤其在Java中,它们被广泛用于数据验证、字符串搜索和替换等多个场景。以下是一些Java开发中常见的正则表达式及其用途:
1. **整数或小数**:`^[0-9]+\.{0,1}[0-9]{0,2}$` - 这个正则表达式用于匹配整数或最多两位小数的浮点数。
2. **纯数字输入**:`^[0-9]*$` - 仅允许输入数字,不包含其他字符。
3. **固定位数数字**:`^\d{n}$` - 只能输入n位的数字。
4. **至少n位数字**:`^\d{n,}$` - 输入的数字至少要有n位。
5. **m~n位数字**:`^\d{m,n}$` - 输入的数字长度在m和n之间。
6. **零或非零开头的数字**:`^(0|[1-9][0-9]*)$` - 可以是零或非零开头的数字序列。
7. **两位小数的正实数**:`^[0-9]+(.[0-9]{2})?$` - 匹配至少一位整数,可选两位小数的正实数。
8. **1~3位小数的正实数**:`^[0-9]+(.[0-9]{1,3})?$` - 至少一位整数,最多三位小数的正实数。
9. **非零正整数**:`^\+?[1-9][0-9]*$` - 非零的正整数,可以包含正号。
10. **非零负整数**:`^\-[1-9][0-9]*$` - 非零的负整数,以负号开始。
11. **固定长度的字符**:`^.{3}$` - 只能输入长度为3的任意字符。
12. **英文字母字符串**:`^[A-Za-z]+$` - 全部由26个英文字母组成。
13. **大写英文字母字符串**:`^[A-Z]+$` - 只包含大写英文字母。
14. **小写英文字母字符串**:`^[a-z]+$` - 只包含小写英文字母。
15. **数字和英文字母字符串**:`^[A-Za-z0-9]+$` - 数字和26个英文字母的组合。
16. **数字、字母或下划线**:`^\w+$` - 数字、字母或下划线的组合,常用于验证用户名或变量名。
17. **用户密码验证**:`^[a-zA-Z]\w{5,17}$` - 以字母开头,包含字符、数字和下划线,长度在6到18之间的密码。
18. **特殊字符限制**:`[^%&',;=?$\x22]+` - 验证是否包含特定的特殊字符。
19. **汉字输入**:`^[\u4e00-\u9fa5]{0,}$` - 仅允许输入汉字。
20. **邮箱地址验证**:`^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$` - 验证电子邮件地址格式。
21. **网址验证**:`^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$` - 检查输入的URL是否合法。
22. **电话号码验证**:`^(\(\d{3,4}-)|\d{3,4}-)?\d{7,8}$` - 验证各种格式的电话号码。
23. **15位或18位身份证号**:`^\d{15}|\d{18}$` - 验证中国15位或18位的身份证号码。
24. **12个月份**:`^(0?[1-9]|1[0-2])` - 验证一个月的月份,1到12。
25. **年份验证**:对于年份的验证,通常需要根据具体业务需求来定制正则表达式。
这些正则表达式在Java中可以通过`Pattern`和`Matcher`类进行使用,例如:
```java
Pattern pattern = Pattern.compile("^[0-9]+\.{0,1}[0-9]{0,2}$");
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
// 输入符合正则表达式的格式
} else {
// 输入不符合正则表达式的格式
}
```
通过这些正则表达式,开发者可以轻松地实现对用户输入的验证,防止非法数据的输入,提高应用的安全性和稳定性。
2021-08-30 上传
2012-10-08 上传
2011-06-17 上传
2024-03-22 上传
2021-06-03 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-11-23 上传
super88home
- 粉丝: 1
- 资源: 4
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析