Masks
The MaskedTextBox supports a set of built-in masks and also enables you to set your own custom mask rules and implement static symbols (literals) in the mask pattern.
Mask Rules
The MaskedTextBox supports the following built-in mask rules:
0—Requires a digit (0-9).9—Requires a digit (0-9) or a space.#—Requires a digit (0-9), space, plus (+), or minus (-) sign.L—Requires a letter (a-Z).?—Requires a letter (a-Z) or a space.A—Requires an alphanumeric (0-9, a-Z).a—Requires an alphanumeric (0-9, a-Z) or a space.&—Requires a character (excluding space).C—Requires a character or a space.
- If any of the built-in masks accepts spaces, set the
promptPlaceholderto a character that is not allowed by the mask.- To escape a mask rule, use the slash (
\) character. An escaped rule turns into a literal.
The MaskedTextBox also allows you to define custom mask rules by setting the rules property.
Apart from the built-in and custom rules, you can also use static symbols in the mask pattern that are also known as literals. In the masked value, a literal is always rendered on the same position as the position where it is defined in the mask property.
The following example demonstrates how to use the digit-requiring mask (0) and the literal (-) of the MaskedTextBox.
The following example demonstrates how to extend the available mask rules.
Masks on Input Values or Focus
By default, the MaskedTextBox always renders a mask. To display the mask only when the input contains a value or is focused, use the maskOnFocus option. maskOnFocus is particularly useful in combination with floating labels.