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

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

第十五章. 驗(yàn)證,格式化及正則表達(dá)式

2024-04-27 13:52:19
字體:
供稿:網(wǎng)友

  驗(yàn)證, 格式化及正則表逹式這幾個(gè)單詞給讀者的第一印象可能會比較陌生。其實(shí), 開發(fā)者在日常的工作中已經(jīng)不知不覺地接觸過不少類似的事物, 比如說: 透過剖析字符串的格式去檢測某種模式; 當(dāng)特定的字符串模式被檢測或沒有檢測到時(shí)修改字符串至一定模式; 當(dāng)一些必要的屬性沒有被檢測到的時(shí)候, 返回錯(cuò)誤訊息等。因?yàn)橐恍┤粘J挛锶珉娫捥柎a, 姓氏字符的大寫, 貨幣格式, 郵編及國際標(biāo)準(zhǔn)圖書編號(ISBN)等數(shù)據(jù), 一般來說都會由第三方程序或用戶本身來提供的, 所以難以保證這些數(shù)據(jù)的格式是否合乎我們程序的要求。Flex Framework 本身就內(nèi)建了兩個(gè)強(qiáng)大的類分別為Validator 和Formatter, 它們分別為各個(gè)UI 組件提供這一類型剖析及格式化的功能。接下來就是正則表逹式(Regular Expressions), 它是一個(gè)新引進(jìn)入的ActionScript 語言及Flash Player 的編程工具。它強(qiáng)大的功能為不少用戶留下深刻的印象, 但其過于復(fù)雜的語法也使人對它又愛又恨。

  Validator, 即驗(yàn)證器作為一個(gè)事件發(fā)送器, 可以用來檢測Flex 控件的屬性, 以確保它可以滿足一些的預(yù)定的參數(shù)。這些參數(shù)可以以被指定為某種的格式, 例如一個(gè)屬性是否必要的或者該屬性的長度限制等。由于驗(yàn)證器的高度整合性, 通過以下兩個(gè)設(shè)置, 驗(yàn)證的結(jié)果可以輕易地顯示出來:
1. 設(shè)置驗(yàn)證器類的事件源, 即是使用者輸入的接口。
2. 設(shè)置那些屬性會被會檢查。

  驗(yàn)證器會發(fā)送一個(gè)事件去控件, 根據(jù)所傳遞的事件, 這個(gè)控件會在驗(yàn)證器內(nèi)顯示一個(gè)自定義的錯(cuò)誤信息。Flex Framework 本身已經(jīng)提供了不少內(nèi)建的驗(yàn)證器, 例如: 信用卡號碼, 電話號碼, 電郵地址及社會安全號碼等。在這個(gè)章節(jié)里, 我們集中討論如何建設(shè)自定義的驗(yàn)證器及如何將驗(yàn)證器及相關(guān)事件跟控件整合。

  Formatter, 以下稱為格式器, 負(fù)責(zé)一個(gè)簡單而非常重要的工作, 那就是把任何傳入的數(shù)值轉(zhuǎn)換作所指定的格式。比如將一個(gè)包含9 位連續(xù)數(shù)目的字符串轉(zhuǎn)換成一個(gè)格式化的電話號碼,那就是由555555555 轉(zhuǎn)成(555) 555-5555, 還有日期格式轉(zhuǎn)換, 或不同國家郵政編號的格式轉(zhuǎn)換等。格式器本身就為用戶定義了一個(gè)重要的方法, 那就是format(格式)。它是用來接收輸入數(shù)據(jù)以及返回一個(gè)恰當(dāng)?shù)淖址?br />
  以上所提及的兩個(gè)類, 原則上是可以通過正則表達(dá)式(Regular Expression)來進(jìn)行字符串的處理, 雖然這種方法在基礎(chǔ)類中是不常用的。正則表達(dá)式是一種被公認(rèn)為強(qiáng)大, 高雅且難于應(yīng)用的現(xiàn)代化編程開發(fā)工具。程序員可以使用這套工具去為一些特定的字符串創(chuàng)建各種復(fù)雜的處理規(guī)則。幾乎所有主流的編程語言都內(nèi)建了正則表達(dá)式處理引擎, 雖然它們可能功能上各有分別, 但語法卻是大致相同的。所以, 正則表達(dá)式為你的作品來說絕對是一套非常實(shí)用的工具。在ActionScript 里頭, 正則表達(dá)式是以一個(gè)名為RegExp 的類來表逹的, 它包含著了兩個(gè)基礎(chǔ)的方法:
test”, 是用于檢測一個(gè)字符串是否包含任何與RegExp相配的文字, 并返回一個(gè)布朗值(True/ False).
exec”, 用于返回一個(gè)包含所有相配的項(xiàng)目的數(shù)組及對象, 以及包含這個(gè)事件第一次發(fā)生時(shí)所在字符串的相對位置的字符串。

  正則表達(dá)式也可以通過match, search 及replace 等String 類的方法來進(jìn)行檢測。當(dāng)中, 我發(fā)現(xiàn)String 類的方法是十分有用的, 因?yàn)樵谡齽t表達(dá)式中它們允許來對個(gè)別的字符進(jìn)行處理。

  正則表達(dá)式是一個(gè)非常龐大的主題, 如果要對其進(jìn)深入探討的話, 恐怕要用掉整本書的篇幅。

  所以在本章節(jié)中, 我們只會對特定的觀點(diǎn)進(jìn)行探討以及為一些一般性的問題提供解決方案,而不會嘗試去展示一些比較普遍的使用個(gè)案。

目錄

15.1.在TextInput及TextArea控件上使用Validator 和Formatter

15.2.如何創(chuàng)建一個(gè)自定義的Formatter

15.3.使用正則表達(dá)式創(chuàng)建國際化郵政編碼Validator

15.4.如何創(chuàng)建一個(gè)Validator去驗(yàn)證通用商品代碼(UPC)

15.5.如何去驗(yàn)證多個(gè)Combo Box及Radio Button組件

15.6.如何在一個(gè)表單內(nèi)通過ToolTips來返映一個(gè)錯(cuò)誤

15.7.如何使用正則表達(dá)式去定位電郵地址

15.8.如何使用正則表達(dá)式去驗(yàn)證信用卡號碼

15.9.如何使用正則表達(dá)式來驗(yàn)證ISBN號

15.10.如何通過指定字符類(Explicit Character Class)來創(chuàng)建正則表達(dá)式

15.11.如何在正則表達(dá)式中使用字符類型

15.12.如何通過子表達(dá)式來驗(yàn)證IP 地址是否有效呢?

15.13.如何使用正則表達(dá)式來為不同類型進(jìn)行匹配?

15.14.如何用正則表達(dá)式來為行的開端或結(jié)尾進(jìn)行匹配?

15.15.如何使用逆向引用?

15.16.如何使用向前查找組或向后查找組語法?

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 塘沽区| 阿克陶县| 山西省| 望谟县| 榆林市| 建始县| 达尔| 即墨市| 隆昌县| 涪陵区| 阿瓦提县| 江陵县| 手机| 敖汉旗| 七台河市| 泰州市| 四会市| 阜城县| 三江| 乌海市| 秦皇岛市| 海口市| 达拉特旗| 尤溪县| 吴旗县| 怀宁县| 宝坻区| 连江县| 阳春市| 荃湾区| 吉林省| 嘉祥县| 安图县| 海阳市| 洪江市| 改则县| 廉江市| 漾濞| 秀山| 仙桃市| 焉耆|