Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento příklad ukazuje, jak převést jednoduché regulární výrazy, aby fungovaly s kontrolou MaskedTextBox.
Popis jazyka maskování
Standardní jazyk maskování vychází z jazyka použitého kontrolou MaskedTextBox ve Visual Basicu 6.0 a měl by být známý uživatelům, kteří migrují z této platformy.
Vlastnost Mask ovládacího prvku určuje, jakou vstupní masku MaskedTextBox použít. Maska musí být řetězec složený z jednoho nebo více prvků maskování z následující tabulky.
| Maskovací prvek | Popis | Element regulárního výrazu |
|---|---|---|
| 0 | Libovolná jednoduchá číslice mezi 0 a 9. Je vyžadován vstup. | \d |
| 9 | Číslice nebo mezera Položka je nepovinná. | [ \d]? |
| # | Číslice nebo mezera Položka je nepovinná. Pokud je tato pozice v masce prázdná, zobrazí se jako mezera. Znaménka plus (+) a minus (-) jsou povolená. | [ \d+-]? |
| L | Písmeno ASCII. Je vyžadován vstup. | [a-zA-Z] |
| ? | Písmeno ASCII. Položka je nepovinná. | [a-zA-Z]? |
| & | Charakter. Je vyžadován vstup. | [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}] |
| C | Charakter. Položka je nepovinná. | [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]? |
| A | Alfanumerický. Položka je nepovinná. | \W |
| . | Znak desetinné čárky vhodný pro místní kulturu | Není k dispozici. |
| , | Zástupný symbol tisíců odpovídající kultuře | Není k dispozici. |
| : | Oddělovač času vhodný pro kulturní kontext | Není k dispozici. |
| / | Oddělovač datumů odpovídající kulturním zvyklostem | Není k dispozici. |
| $ | Symbol měny vhodný pro danou kulturu. | Není k dispozici. |
| < | Převede všechny znaky, které následují, na malá písmena. | Není k dispozici. |
| > | Převede všechny následující znaky na velká písmena. | Není k dispozici. |
| | | Vrátí zpět předchozí posun nahoru nebo dolů. | Není k dispozici. |
| \ | Unikne znak masky a změní ho na literál. "\\ je úniková sekvence pro zpětné lomítko." | \ |
| Všechny ostatní znaky. | Literály. Všechny prvky, které nejsou maskovány, se zobrazí jako své vlastní v rámci MaskedTextBox. | Všechny ostatní znaky. |
Desetinné číslo (.), tisíciny (,), čas (:), datum (/) a symbol měny ($) se standardně zobrazují tak, jak jsou definovány jazykovou verzí aplikace. Pomocí vlastnosti FormatProvider je můžete přinutit zobrazovat symboly pro jinou kulturu.
Regulární výrazy a masky
I když k ověření uživatelského vstupu můžete použít regulární výrazy a masky, nejsou úplně ekvivalentní. Regulární výrazy mohou vyjádřit složitější vzory než masky, ale masky mohou vyjádřit stejné informace stručněji a v kulturně relevantním formátu.
Následující tabulka porovnává čtyři regulární výrazy a ekvivalentní masku pro každou z nich.
| Regulární výraz | Maska | Poznámky |
|---|---|---|
\d{2}/\d{2}/\d{4} |
00/00/0000 |
Znak / v masce je logický oddělovač kalendářních dat a zobrazí se uživateli jako oddělovač kalendářních dat odpovídající aktuální jazykové verzi aplikace. |
\d{2}-[A-Z][a-z]{2}-\d{4} |
00->L<LL-0000 |
Datum (zkratka dne, měsíce a rok) ve formátu USA, ve kterém se zobrazuje zkratka třímísmenného měsíce s počátečním velkým písmenem následovaným dvěma malými písmeny. |
(\(\d{3}\)-)?\d{3}-d{4} |
(999)-000-0000 |
Telefonní číslo v USA, předvolba oblasti volitelná. Pokud uživatel nechce zadávat volitelné znaky, může buď zadat mezery, nebo umístit ukazatel myši přímo na pozici v masce reprezentované prvním 0. |
$\d{6}.00 |
$999,999.00 |
Hodnota měny v rozsahu od 0 do 999999. Měnové, tisícinové a desetinné znaky budou za běhu nahrazeny ekvivalenty v souladu s regionálními nastaveními. |