Delen via


Reguliere expressies gebruiken met de MaskedTextBox-control in Visual Basic

In dit voorbeeld ziet u hoe u eenvoudige reguliere expressies converteert om met het MaskedTextBox besturingselement te werken.

Beschrijving van de maskeringstaal

De standaardmaskertaal MaskedTextBox is gebaseerd op de taal die wordt gebruikt door het Masked Edit besturingselement in Visual Basic 6.0 en moet bekend zijn met gebruikers die van dat platform migreren.

De Mask eigenschap van het MaskedTextBox besturingselement geeft aan welk invoermasker moet worden gebruikt. Het masker moet een tekenreeks zijn die bestaat uit een of meer maskeringselementen uit de volgende tabel.

Maskeringselement Beschrijving Reguliere expressie-element
0 Eén cijfer tussen 0 en 9. Invoer vereist. \d
9 Cijfer of spatie. Invoer optioneel. [ \d]?
# Cijfer of spatie. Invoer optioneel. Als deze positie leeg blijft in het masker, wordt deze weergegeven als een spatie. Plustekens (+) en mintekens (-) zijn toegestaan. [ \d+-]?
L ASCII-brief. Invoer vereist. [a-zA-Z]
? ASCII-brief. Invoer optioneel. [a-zA-Z]?
& Karakter. Invoer vereist. [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]
C Karakter. Invoer optioneel. [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]?
Een Alfanumeriek. Invoer optioneel. \W
. Cultureel geschikte decimaalscheidingsteken. Niet beschikbaar.
, Tijdelijke aanduiding voor duizendtallen die geschikt zijn voor cultuur. Niet beschikbaar.
: Tijdscheidingsteken dat geschikt is voor cultuur. Niet beschikbaar.
/ Datumscheidingsteken dat geschikt is voor cultuur. Niet beschikbaar.
$ Valutasymbool dat geschikt is voor cultuur. Niet beschikbaar.
< Converteert alle tekens die volgen naar kleine letters. Niet beschikbaar.
> Converteert alle tekens die volgen naar hoofdletters. Niet beschikbaar.
| Maakt een eerdere verschuiving omhoog of omlaag ongedaan. Niet beschikbaar.
\ Escapet een maskerteken, waardoor het een letterlijke teken wordt. "\\" is de escape-sequentie voor een backslash. \
Alle andere tekens. Letterlijke gegevens. Alle niet-maskerelementen zullen binnen MaskedTextBox als zichzelf verschijnen. Alle andere tekens.

De decimale symbolen (.), duizendste (,), tijd (:), datum (/) en valutasymbolen ($) worden standaard weergegeven, zoals gedefinieerd in de cultuur van de toepassing. U kunt afdwingen dat symbolen voor een andere cultuur worden weergegeven met behulp van de FormatProvider eigenschap.

Reguliere expressies en maskers

Hoewel u reguliere expressies en maskers kunt gebruiken om gebruikersinvoer te valideren, zijn ze niet volledig gelijkwaardig. Reguliere expressies kunnen complexere patronen dan maskers uitdrukken, maar maskers kunnen dezelfde informatie beknopter en in een cultureel relevante indeling uitdrukken.

In de volgende tabel worden vier reguliere expressies en het equivalente masker voor elk ervan vergeleken.

Gewone expressie Masker Opmerkingen
\d{2}/\d{2}/\d{4} 00/00/0000 Het / teken in het masker is een logisch datumscheidingsteken en wordt aan de gebruiker weergegeven als het datumscheidingsteken dat geschikt is voor de huidige cultuur van de toepassing.
\d{2}-[A-Z][a-z]{2}-\d{4} 00->L<LL-0000 Een datum (dag, maandafkorting en jaar) in de Amerikaanse datumnotatie waarin de afkorting van de maand met drie letters wordt weergegeven met een eerste hoofdletter, gevolgd door twee kleine letters.
(\(\d{3}\)-)?\d{3}-d{4} (999)-000-0000 Telefoonnummer verenigde Staten, netnummer optioneel. Als de gebruiker de optionele tekens niet wil invoeren, kan deze spaties invoeren of de muisaanwijzer rechtstreeks op de positie in het masker plaatsen dat wordt vertegenwoordigd door de eerste 0.
$\d{6}.00 $999,999.00 Een valutawaarde in het bereik van 0 tot 999999. De valuta, duizendde en decimale tekens worden tijdens runtime vervangen door hun cultuurspecifieke equivalenten.

Zie ook