限制文字輸入

Flash Player 9 以及更新的版本,Adobe AIR 1.0 以及更新的版本

因為輸入文字欄位通常用於應用程式的表單或對話方塊中,所以您可能想要限制使用者可以在文字欄位中輸入的字元類型,或甚至隱藏文字 (例如,針對密碼)。flash.text.TextField 類別具有 displayAsPassword 屬性和 restrict 屬性,您可以利用這些屬性進行設定以控制使用者輸入。

displayAsPassword 屬性會在使用者輸入文字時隱藏文字 (將它顯示為一連串的星號)。 displayAsPassword 設為 true 時,「剪下」和「複製」指令以及其對應的鍵盤快捷鍵將失去作用。如下例所示,指定 displayAsPassword 屬性的方式就和指定其他屬性 (例如背景和顏色) 一樣:

myTextBox.type = TextFieldType.INPUT; 
myTextBox.background = true; 
myTextBox.displayAsPassword = true; 
addChild(myTextBox);

restrict 屬性則較為複雜,因為您需要指定使用者可以在輸入文字欄位中鍵入的字元,您可以允許特定字母、數字或是某範圍的字母、數字和字元。下列程式碼允許使用者只在文字欄位中輸入大寫字母 (而不是數字或特殊字元):

myTextBox.restrict = "A-Z";

ActionScript 3.0 使用連字符號來定義範圍,並使用跳脫字元來定義排除字元。如需有關定義輸入文字欄位限制的詳細資訊,請參閱「Adobe® Flash® Professional CS5 的 ActionScript® 3.0 參考」中的 flash.text.TextField.restrict 屬性項目。

備註: 如果您使用 flash.text.TextField.restrict 屬性,執行階段就會自動將限制的字母轉換成允許的大小寫。如果您使用 fl.text.TLFTextField.restrict 屬性 (也就是,使用 TLF 文字欄位),則執行階段會忽略限制的字母。