国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Java中使用正則表達(dá)式驗證本地化數(shù)據(jù)

2019-11-18 15:38:45
字體:
供稿:網(wǎng)友

  數(shù)據(jù)驗證是編寫任何用戶界面時經(jīng)常要處理的一項雜務(wù)。java? 語言的正則表達(dá)式支持可以使數(shù)據(jù)驗證變得更輕易。您可以定義一個正則表達(dá)式,用于描述有效數(shù)據(jù),然后讓 Java 運行時檢查它是否匹配。但是有些類型的數(shù)據(jù)在不同地區(qū)有不同的格式。
而 ResourceBundle 類讓您可以以一種優(yōu)雅的方式使用特定于地區(qū)的數(shù)據(jù)。本文展示如何結(jié)合這兩種技術(shù)來解決常見的數(shù)據(jù)輸入問題。

  本文討論將正則表達(dá)式與 Java ResourceBundle 相結(jié)合的一種數(shù)據(jù)驗證技術(shù)。Java 語言對正則表達(dá)式的支持可以大大簡化數(shù)據(jù)驗證。您可以將數(shù)據(jù)與正則表達(dá)式進(jìn)行比較,假如它們匹配,則知道數(shù)據(jù)是有效的。另一方面,Java ResourceBundle 包含翻譯好的字符串,用于匹配用戶機器上的當(dāng)前語言和國家設(shè)置。ResourceBundle 中的字符串通常是出現(xiàn)在應(yīng)用程序中的文本,但是也可以是特定于某個地區(qū)的任何東西。

  您將實踐一個示例應(yīng)用程序,該應(yīng)用程序從 ResourceBundles 獲得正則表達(dá)式,并將它們用于數(shù)據(jù)驗證。通過這種方法,就可以用一塊代碼來驗證很多不同類型的數(shù)據(jù)。更妙的是,隨著更多 ResourceBundle 的添加,還可以驗證更多類型的數(shù)據(jù),并且不用更改這段代碼中的任何一行。

  本文的示例應(yīng)用程序是在 Eclipse 中用 Visual Editor 構(gòu)建的。Visual Editor 是一種用于構(gòu)建圖形化界面的開放源碼工具。為了構(gòu)建自己的應(yīng)用程序,您需要在計算機上安裝 Eclipse 和 Visual Editor 包。這個示例應(yīng)用程序只是舉例說明了驗證數(shù)據(jù)的一種技巧,所以這種方法可用于任何 Java 應(yīng)用程序。

  示例應(yīng)用程序

  我不想花太多的時間討論這個示例應(yīng)用程序的所有細(xì)節(jié),我只關(guān)注其中的數(shù)據(jù)驗證方面的技巧。這個應(yīng)用程序驗證輸入到輸入域中的郵政編碼。您可能知道,在世界的不同地方,郵政編碼千差萬別。有的是數(shù)字,有的則包含字母。即使同是由數(shù)字組成的郵政編碼,在不同地方其長度也不盡相同。有的國家以特定的模式排列字母和數(shù)字,而另外一些國家則采用更自由的格式。所有這些格式都可以用正則表達(dá)式來描述。例如,在美國郵政編碼是一個五位數(shù),后面還可能跟有一個破折號加一個四位數(shù)。清單 1 展示了描述這種格式的正則表達(dá)式:

清單 1. 用于美國郵政編碼的正則表達(dá)式

 [0-9]{5}(-[0-9]{4})? 

  除了格式不同外,郵政編碼并不總是被稱為郵政編碼。例如,美國將郵政編碼稱為 ZIP Code。ResourceBundle 的一種常見用法就是處理這種類型的與地區(qū)有關(guān)的差異。用于美國的 ResourceBundle 可能包含短語 "Enter your ZIP Code",而在用于加拿大的 ResourceBundle 中,相應(yīng)的短語可能是 "Enter your postal code"。我在本文中演示的技巧也是從 ResourceBundle 獲得用于有效郵政編碼的正則表達(dá)式。

  為了使這個示例簡單化,您將創(chuàng)建一個只有一個輸入域和一個 Validate 按鈕的 Swing 應(yīng)用程序。用戶在輸入域中輸入文本,然后單擊該按鈕。假如數(shù)據(jù)與當(dāng)前的正則表達(dá)式匹配,則應(yīng)用程序顯示一條消息,表明郵政編碼有效。因為應(yīng)用程序使用不同的 ResourceBundle,所以正則表達(dá)式隨著有效數(shù)據(jù)的規(guī)則的變化而變化。由于正則表達(dá)式是從文本文件中裝載的一個字符串,所以當(dāng)添加對新類型的郵政編碼的支持時,不需要更改代碼。

  您將在 Eclipse 中使用 Eclipse Visual Editor 和 Eclipse Java Development Tool 的一些特性來構(gòu)建這個應(yīng)用程序。您可以在幾乎所有開發(fā)環(huán)境中使用這種技巧。這里的代碼應(yīng)該可以在任何基于 Eclipse 的產(chǎn)品中運行,例如 Rational application Developer。

圖 1 展示了該應(yīng)用程序在 Eclipse Visual Editor 中的樣子:

圖 1. Eclipse Visual Editor 中的示例應(yīng)用程序
Java中使用正則表達(dá)式驗證本地化數(shù)據(jù)(圖一)

  Visual Editor 提供了四種查看應(yīng)用程序的方式。在屏幕的頂端是應(yīng)用程序的可視化圖像,源代碼在底端。Eclipse 還提供了兩個視圖 —— PRoperties 視圖和 Java Beans 視圖 —— 可以通過這兩個視圖來處理應(yīng)用程序。所有這些查看應(yīng)用程序的方式都是由 Eclipse Modeling Framework (EMF) 控制的。由于已經(jīng)有一些關(guān)于 EMF 的完整書籍,所以我不會再談更多的細(xì)節(jié)。從程序員的角度來看,重要的一點是,任何視圖中的變化都會自動發(fā)送到其他視圖。例如,假如您使用 Properties 視圖將一個對象的背景顏色設(shè)為綠色,那么可視化圖像和源代碼也會自動更新。

  運行初始的示例應(yīng)用程序

  首先來看一個已經(jīng)創(chuàng)建好的應(yīng)用程序。圖 2 展示了這個應(yīng)用程序的運行界面:

圖 2. 輸入有效數(shù)據(jù)時的示例應(yīng)用程序
Java中使用正則表達(dá)式驗證本地化數(shù)據(jù)(圖二)

  在圖 2 中,用戶輸入了有效的數(shù)據(jù),并單擊了 Validate 按鈕。假如數(shù)據(jù)無效,那么將出現(xiàn)圖 3 所示的界面:

圖 3. 輸入無效數(shù)據(jù)時的示例應(yīng)用程序
Java中使用正則表達(dá)式驗證本地化數(shù)據(jù)(圖三)

  清單 2 展示了如何使用 清單 1 中的正則表達(dá)式來驗證數(shù)據(jù):

清單 2. 使用正則表達(dá)式



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 商丘市| 麻阳| 泊头市| 福鼎市| 江西省| 邳州市| 涞水县| 九台市| 泾川县| 碌曲县| 大渡口区| 博白县| 饶阳县| 西华县| 同心县| 根河市| 醴陵市| 简阳市| 敦化市| 佛山市| 沅江市| 浠水县| 梅州市| 五常市| 河北区| 东丰县| 裕民县| 遂溪县| 前郭尔| 镇沅| 元阳县| 东宁县| 许昌县| 堆龙德庆县| 调兵山市| 贵德县| 康乐县| 宁海县| 南江县| 抚宁县| 三明市|