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

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

第十五章. 驗證,格式化及正則表達式

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

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

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

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

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

  正則表達式也可以通過match, search 及replace 等String 類的方法來進行檢測。當中, 我發(fā)現(xiàn)String 類的方法是十分有用的, 因為在正則表達式中它們允許來對個別的字符進行處理。

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

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

目錄

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

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

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

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

15.5.如何去驗證多個Combo Box及Radio Button組件

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

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

15.8.如何使用正則表達式去驗證信用卡號碼

15.9.如何使用正則表達式來驗證ISBN號

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

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

15.12.如何通過子表達式來驗證IP 地址是否有效呢?

15.13.如何使用正則表達式來為不同類型進行匹配?

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

15.15.如何使用逆向引用?

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 安化县| 容城县| 全椒县| 灵寿县| 滨州市| 开阳县| 天长市| 澳门| 常德市| 乌鲁木齐市| 凤庆县| 娱乐| 东宁县| 留坝县| 扎鲁特旗| 海伦市| 永康市| 临泽县| 依兰县| 蒙阴县| 平昌县| 孝昌县| 城固县| 偃师市| 饶平县| 镇巴县| 肇东市| 永靖县| 高安市| 镇平县| 稻城县| 普定县| 绥宁县| 奉化市| 仁布县| 黄浦区| 大连市| 涡阳县| 呼玛县| 盘锦市| 财经|