数据验证是编写任何用户界面时经常要处理的一项杂务。java? 语言的正则表达式支持可以使数据验证变得更容易。您可以定义一个正则表达式,用于描述有效数据,然后让 java 运行时检查它是否匹配。但是有些类型的数据在不同地区有不同的格式。 而 resourcebundle 类让您可以以一种优雅的方式使用特定于地区的数据。本文展示如何结合这两种技术来解决常见的数据输入问题。
本文讨论将正则表达式与 java resourcebundle 相结合的一种数据验证技术。java 语言对正则表达式的支持可以大大简化数据验证。您可以将数据与正则表达式进行比较,如果它们匹配,则知道数据是有效的。另一方面,java resourcebundle 包含翻译好的字符串,用于匹配用户机器上的当前语言和国家设置。resourcebundle 中的字符串通常是出现在应用程序中的文本,但是也可以是特定于某个地区的任何东西。
您将实践一个示例应用程序,该应用程序从 resourcebundles 获得正则表达式,并将它们用于数据验证。通过这种方法,就可以用一块代码来验证很多不同类型的数据。更妙的是,随着更多 resourcebundle 的添加,还可以验证更多类型的数据,并且不用更改这段代码中的任何一行。
本文的示例应用程序是在 eclipse 中用 visual editor 构建的。visual editor 是一种用于构建图形化界面的开放源码工具。为了构建自己的应用程序,您需要在计算机上安装 eclipse 和 visual editor 包。这个示例应用程序只是举例说明了验证数据的一种技巧,所以这种方法可用于任何 java 应用程序。
示例应用程序
我不想花太多的时间讨论这个示例应用程序的所有细节,我只关注其中的数据验证方面的技巧。这个应用程序验证输入到输入域中的邮政编码。您可能知道,在世界的不同地方,邮政编码千差万别。有的是数字,有的则包含字母。即使同是由数字组成的邮政编码,在不同地方其长度也不尽相同。有的国家以特定的模式排列字母和数字,而另外一些国家则采用更自由的格式。所有这些格式都可以用正则表达式来描述。例如,在美国邮政编码是一个五位数,后面还可能跟有一个破折号加一个四位数。清单 1 展示了描述这种格式的正则表达式:
清单 1. 用于美国邮政编码的正则表达式
[0-9]{5}(-[0-9]{4})? |
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器