共用方式為


在 Visual Basic 中將規則運算式與 MaskedTextBox 控制項一起搭配使用

此範例示範如何轉換簡單的規則運算式以使用 MaskedTextBox 控制項。

遮罩語言說明

標準 MaskedTextBox 遮罩語言是以 Visual Basic 6.0 Masked Edit 控制項使用的 語言為基礎,從該平台移轉的使用者應該很熟悉。

MaskedTextBox 控制項的 Mask 屬性會指定要使用的輸入遮罩。 遮罩必須是由下表中一或多個遮罩元素組成的字串。

遮罩元素 描述 規則運算式元素
0 介於 0 到 9 之間的任何單位數。 必須輸入。 \d
9 數字或空格。 選擇性輸入。 [ \d]?
# 數字或空格。 選擇性輸入。 如果此位置在遮罩中保留空白,會轉譯為空格。 允許加號 (+) 和減號 (-)。 [ \d+-]?
L ASCII 字母。 必須輸入。 [a-zA-Z]
? ASCII 字母。 選擇性輸入。 [a-zA-Z]?
& 字元。 必須輸入。 [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]
C 字元。 選擇性輸入。 [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]?
A 英數字元。 選擇性輸入。 \W
. 符合文化特性的小數點預留位置。 無法使用。
, 符合文化特性的千位預留位置。 無法使用。
符合文化特性的時間分隔符號。 無法使用。
/ 符合文化特性的日期分隔符號。 無法使用。
$ 符合文化特性的貨幣符號。 無法使用。
< 將後面的所有字元轉換成小寫。 無法使用。
> 將後面的所有字元轉換成大寫。 無法使用。
| 復原先前的上移或下移。 無法使用。
\ 逸出遮罩字元,將其轉換為常值。 "\\" 是反斜線的逸出序列。 \
所有其他字元。 常值。 所有非遮罩元素都會以自身顯示在 MaskedTextBox 中。 所有其他字元。

小數點 (.)、千位 (,)、時間 (:)、日期 (/) 和貨幣 ($) 符號,預設為如應用程式文化特性所定義顯示這些符號。 您可以使用 FormatProvider 屬性,強制顯示另一個文化特性的符號。

規則運算式和遮罩

雖然您可以使用規則運算式和遮罩來驗證使用者輸入,但它們並不完全相等。 規則運算式可以表達比遮罩更複雜的模式,但遮罩能以更簡潔且與文化相關的格式來表達相同資訊。

下表比較四個規則運算式和每個的對等遮罩。

規則運算式 遮罩 備註
\d{2}/\d{2}/\d{4} 00/00/0000 遮罩中的 / 字元是邏輯日期分隔符號,而且使用者會看到符合應用程式目前文化特性的日期分隔符號。
\d{2}-[A-Z][a-z]{2}-\d{4} 00->L<LL-0000 以美國格式顯示的日期 (日、月縮寫和年),其三個字母月份縮寫開頭為大寫字母後面接著兩個小寫字母。
(\(\d{3}\)-)?\d{3}-d{4} (999)-000-0000 美國電話號碼,區碼為選擇性。 如果使用者不想要輸入選擇性字元,他們可以輸入空格或直接將滑鼠指標放在遮罩中第一個 0 的位置。
$\d{6}.00 $999,999.00 介於 0 到 999999 範圍內的貨幣值。 貨幣、千位和小數點字元,會在執行階段以其文化特性專屬的同等項目取代。

另請參閱