Sdílet prostřednictvím


Použití regulárních výrazů s ovládacím prvkem MaskedTextBox v jazyce Visual Basic

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.

Viz také