正 文

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


www.7dspace.com  更新日期:2006-1-10 1:53:53  七度空间



  运行初始的示例应用程序

  首先来看一个已经创建好的应用程序。图 2 展示了这个应用程序的运行界面:

图 2. 输入有效数据时的示例应用程序
输入有效数据时的示例应用程序

  在图 2 中,用户输入了有效的数据,并单击了 Validate 按钮。如果数据无效,那么将出现图 3 所示的界面:

图 3. 输入无效数据时的示例应用程序
输入无效数据时的示例应用程序

  清单 2 展示了如何使用 清单 1 中的正则表达式来验证数据:

清单 2. 使用正则表达式

Pattern pc = Pattern.compile("[0-9]{5}(-[0-9]{4})?"); 
Matcher m = pc.matcher(postalCode.getText());
if (m.matches())
{
  validLabel.setText("Your postal code is valid.");
  validLabel.setForeground(Color.BLUE);
}
else
{
  validLabel.setText("Your postal code is not valid."); 
  validLabel.setForeground(Color.RED);
}

  清单 2 中的两条反馈消息通常会被翻译成其他语言。您还将通过使用这里展示的技巧来 “翻译” 正则表达式。与一般的翻译不同,将正则表达式转换成国际化版本是数据格式专家的工作,而不是语言专家的工作。

  具体化字符串

  Eclipse 为代码的国际化提供了一个方便的特性。首先单击 Source > Externalize Strings...,如图 4 所示:

图 4. Externalize Strings... 主菜单
Externalize Strings... 主菜单

  Eclipse 查看 Java 代码,以发现应该放入到 ResourceBundle 中的字符串。您将看到类似图 5 所示的对话框:

图 5. Externalize Strings 对话框
Externalize Strings 对话框

  在图 5 中列出的所有字符串中,对话框顶部的空白字符串不需要翻译。(反馈消息的初始值是一个空白字符串。)取消对第一个字符串的选择,然后单击 Next 和 Finish。Eclipse 创建一个新的名为 com.ibm.developerworks.Messages 的类,这个类从 messages.properties 文件获取字符串。
5页,页码:[1] [2] [3] [4] [5] 

上一篇:漫谈Java程序的性能优化
下一篇:TM2006新春版新功能用法:我的空间
作者:Doug Tidwell  来源:ibm ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐