快速业务通道

java.net.URL如何通过proxy访问internet资源 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22

使用正则表达式验证本地化数据

时间:2010-12-16

本文讨论将正则表达式与 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})?

除了格式不同外,邮政编码并不总是被称为邮政编码。例如,美国将邮政编 码称为 ZIP Code。ResourceBundle 的一种常见用法就是处理这种类型的与地区 有关的差异。用于美国的 ResourceBundle 可能包含短语 "Enter your ZIP Code",而在用于加拿大的 ResourceBundle 中,相应的短语可能是 "Enter your postal code"。我在本文中演示的技巧也是从 ResourceBundle 获得用于有效邮政编码的正则表达式。

为了使这个示例简单化,您将创建一个只有一个输入域和一个 Validate 按 钮的 Swing 应用程序。用户在输入域中输入文本,然后单击该按钮。如果数据 与当前的正则表达式匹配,则应用程序显示一条消息,表明邮政编码有效。因为 应用程序使用不同的 ResourceBundle,所以正则表达式随着有效数据的规则的 变化而变化。由于正则表达式是从文本文件中装载的一个字符串,所以当添加对 新类型的邮政编码的支持时,不需要更改代码。

您将在 Eclipse 中使用 Eclipse Visual Editor 和 Eclipse Java Development Tool 的一些特性来构建这个应用程序。您可以在几乎所有开发环 境中使用这种技巧。这里的代码应该可以在任何基于 Eclipse 的产品中运行, 例如 Rational Application Developer(请参阅 参考资料)。

图 1 展示了该应用程序在 Eclipse Visual Editor 中的样子:

图 1. Eclipse Visual Editor 中的示例应用程序

java.net.URL如何通过proxy访问internet资源 - 编程入门网

Visual Editor 提供了四种查看应用程序的方式。在屏幕的顶端是应用程序 的可视化图像,源代码在底端。Eclipse 还提供了两个视图 —— Properties 视图和 Java Beans 视图 —— 可以通过这两个视图来 处理应用程序。所有这些查看应用程序的方式都是由 Eclipse Modeling Framework (EMF) 控制的。由于

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号