Java正则表达式大全:输入验证与数据校验

需积分: 9 5 下载量 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 { // 输入不符合正则表达式的格式 } ``` 通过这些正则表达式,开发者可以轻松地实现对用户输入的验证,防止非法数据的输入,提高应用的安全性和稳定性。