Flash CS3 文件 |
|||
| ActionScript 3.0 程式設計 > 使用規則運算式 > 規則運算式基本課程 | |||
規則運算式可描述字元模式。規則運算式通常用來驗證文字值是否符合特定模式 (如驗證使用者輸入的電話號碼是否包含正確的位數),或是用來取代符合特定模式的部分文字值。
規則運算式很簡單。例如,假定您希望確認特定字串與 "ABC" 相符,或希望以其它文字取代字串中所有的 "ABC"。在這種情況下,您可以透過下列規則運算式來定義由字母 A、B、C 依序組成的模式:
/ABC/
請注意,規則運算式常值是以正斜線 (/) 字元加以區隔。
規則運算式的模式可能很複雜,而且有時看起來含意模糊,如下列與有效電子郵件地址相符的運算式:
/([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}/
大部分情況下,您會使用規則運算式來搜尋字串中的各種模式,並取代其中一些字元。在這些情況下,您會建立一個規則運算式物件,並把它當做參數,套用在數種 String 類別方法中的一種當中。下列 String 類別的方法將規則運算式當做參數使用:match()、replace()、 search() 和 split()。如需有關這些方法的詳細資訊,請參閱尋找字串中的樣式並取代子字串。
RegExp 類別包含下列方法:test() 和 exec()。如需詳細資訊,請參閱搭配字串使用規則運算式的方法。
本章將針對規則運算式,詳細介紹下列幾種常見的使用方式:
下列參考清單包含了本章所使用的重要術語:
\) 就是跳脫字元,所以如果反斜線後面接著另一個字元,則該反斜線就是一個特殊程式碼,而不只是一個字元。當您研讀本章的內容時,可能會想要自行測試其中的部分範例程式碼列表。因為本章內的程式碼列表主要由規則運算式模式構成,測試範例時需要執行下列幾個步驟:
var pattern:RegExp = /ABC/;
/ABC/)。var goodEmail:String = "bob@example.com"; var badEmail:String = "5@$2.99";
trace() 函數,或是寫入「舞台」上的文字欄位中。trace(goodEmail, " is valid:", pattern.test(goodEmail)); trace(badEmail, " is valid:", pattern.test(badEmail));
例如,假設 pattern 定義了有效電子郵件地址的規則運算式模式,程式碼的前幾行會將這個文字寫在「輸出」面板上:
bob@example.com is valid: true 5@$2.99 is valid: false
測試這些值時,可以將值寫入「舞台」上的文字欄位實體中,也可以使用 trace() 函數將值列印至「輸出」面板;如需詳細資訊,請參閱測試章節內的範例程式碼列表。
Flash CS3
目前頁面: http://livedocs.adobe.com/flash/9.0_tw/main/00000111.html