Sdílet prostřednictvím


Používání 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 pro práci s ovládacím MaskedTextBox prvku.

Popis jazyka maskování

Standardní jazyk maskování je založený na jazyce MaskedTextBox , který Masked Edit používá ovládací prvek v jazyce Visual Basic 6.0 a měl by být známý pro uživatele, 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.

Masking – element Popis Element regulárního výrazu
0 Libovolná jednoduchá číslice mezi 0 a 9. Je vyžadována položka. \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ána položka. [a-zA-Z]
? Písmeno ASCII. Položka je nepovinná. [a-zA-Z]?
& Znak. Je vyžadována položka. [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]
C Znak. Položka je nepovinná. [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]?
A Alfanumerické. Položka je nepovinná. \W
. Zástupný symbol desetinné čárky odpovídající jazykové verzi Není k dispozici.
, Zástupný symbol tisíců odpovídající jazykové verzi Není k dispozici.
: Oddělovač času odpovídající jazykové verzi Není k dispozici.
/ Oddělovač kalendářních dat odpovídající jazykové verzi Není k dispozici.
$ Symbol měny odpovídající jazykové verzi. 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 řídicí sekvence zpětného lomítka. \
Všechny ostatní znaky. Literály. Všechny prvky, které nejsou masky, se zobrazí jako samy 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 je můžete vynutit, aby zobrazovaly symboly pro jinou jazykovou FormatProvider verzi.

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 Notes
\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 (den, zkratka 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 USA telefonní číslo, směrové číslo 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ěnu, tisíci a desetinné znaky se nahradí za běhu ekvivalenty specifickými pro jazykovou verzi.

Viz také