Java正则表达式大全:验证与匹配各种格式

需积分: 45 2 下载量 171 浏览量 更新于2024-11-15 收藏 29KB DOC 举报
"jsp验证正则表达式" 在JavaServer Pages (JSP) 开发中,正则表达式经常被用于数据验证,确保用户输入的数据符合预设的规则。以下是一些常用的正则表达式及其用途: 1. **匹配中文字符**: 正则表达式:`[u4e00-u9fa5]` 这个表达式用于识别中文字符,其中 `u4e00` 和 `u9fa5` 是Unicode范围,覆盖了大部分的中文字符。 2. **匹配双字节字符**: 正则表达式:`[^x00-xff]` 双字节字符通常指的是非ASCII字符,包括中文、日文、韩文等,这个表达式可以用来匹配非ASCII字符。 3. **匹配空白行**: 正则表达式:`\n\s*\r` 这个表达式可以匹配文本中的空白行,包括换行符和空格。 4. **匹配HTML标记**: 正则表达式:`<(S*?)[^>]*>.*?|<.*?>` 尽管正则表达式在处理复杂的HTML嵌套结构时存在局限,但这个表达式可以匹配大多数简单的HTML标签。 5. **匹配首尾空白字符**: 正则表达式:`^\s*|\s*$` 这个表达式用于去除字符串开头和结尾的空白字符,包括空格、制表符等。 6. **匹配Email地址**: 正则表达式:`w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*` 这个正则表达式用于验证电子邮件地址的有效性,但并非完全准确,因为有些合法的邮箱格式可能无法匹配。 7. **匹配网址URL**: 正则表达式:`[a-zA-z]+://[^s]*` 这个表达式可以匹配大部分标准的URL格式,但不适用于所有可能的URL。 8. **匹配帐号合法性**: 正则表达式:`^[a-zA-Z][a-zA-Z0-9_]{4,15}$` 该正则表达式用于验证以字母开头,且包含5-16个字母、数字或下划线的用户名。 9. **匹配国内电话号码**: 正则表达式:`d{3}-d{8}|d{4}-d{7}` 这个表达式可以匹配中国大陆地区的电话号码,包括区号-电话号码的格式。 10. **匹配腾讯QQ号**: 正则表达式:`[1-9][0-9]{4,}` 腾讯QQ号由5-10位数字组成,此正则可匹配符合条件的QQ号码。 11. **匹配中国邮政编码**: 正则表达式:`[1-9]d{5}(?!d)` 中国邮政编码是6位数字,这个正则表达式可以用于验证。 12. **匹配身份证号**: 正则表达式:`d{15}|d{18}` 中国的身份证号码有15位和18位两种,这个表达式可以进行基础验证。 13. **匹配IP地址**: 正则表达式:`d+.d+.d+.d+` IP地址由4个0-255之间的数字组成,每个数字之间用点分隔。 14. **匹配特定数字**: - 正整数:`^[1-9]d*$` - 负整数:`^-[1-9]d*$` - 整数:`^-?[1-9]d*$` - 非负整数:`^[1-9]d*|0$` - 非正整数:`^-[1-9]d*|0$` - 正浮点数:`^[1-9]d*.d*|0.d*[1-9]d*$` - 负浮点数:`^-([1-9]d*.d*|0.d*[1-9]d*)$` - 浮点数:`^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$` 这些正则表达式在JSP中可以用于用户输入的验证,防止非法数据进入系统,提高应用程序的安全性和稳定性。在实际应用中,可能需要根据具体需求进行微调或扩展。