Använda reguljära uttryck med kontrollen MaskedTextBox i Visual Basic
Det här exemplet visar hur du konverterar enkla reguljära uttryck för att arbeta med MaskedTextBox kontrollen.
Beskrivning av maskeringsspråket
Standardmaskeringsspråket MaskedTextBox baseras på det som används av kontrollen i Visual Basic 6.0 och bör vara bekant för användare som migrerar från den Masked Edit
plattformen.
Kontrollens MaskMaskedTextBox egenskap anger vilken indatamask som ska användas. Masken måste vara en sträng som består av ett eller flera av maskeringselementen från följande tabell.
Maskeringselement | beskrivning | Element för reguljärt uttryck |
---|---|---|
0 | En siffra mellan 0 och 9. Post krävs. | \D |
9 | Siffra eller blanksteg. Valfri post. | [ \d]? |
# | Siffra eller blanksteg. Valfri post. Om den här positionen lämnas tom i masken återges den som ett blanksteg. Plustecken (+) och minustecken (-) tillåts. | [ \d+-]? |
L | ASCII-bokstav. Post krävs. | [a-zA-Z] |
? | ASCII-bokstav. Valfri post. | [a-zA-Z]? |
& | Karaktär. Post krävs. | [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}] |
C | Karaktär. Valfri post. | [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]? |
A | Alfanumeriska. Valfri post. | \W |
. | Platshållare för kulturanpassade decimaler. | Ej tillgänglig. |
, | Platshållare för kulturanpassade tusentals. | Ej tillgänglig. |
: | Kulturanpassad tidsavgränsare. | Ej tillgänglig. |
/ | Kulturanpassad datumavgränsare. | Ej tillgänglig. |
$ | Kulturanpassad valutasymbol. | Ej tillgänglig. |
< | Konverterar alla tecken som följer till gemener. | Ej tillgänglig. |
> | Konverterar alla tecken som följer till versaler. | Ej tillgänglig. |
| | Ångrar ett tidigare skift upp eller ned. | Ej tillgänglig. |
\ | Undflyr ett masktecken och omvandlar det till en literal. "\\" är escape-sekvensen för ett omvänt snedstreck. | \ |
Alla andra tecken. | Litteraler. Alla icke-maskerade element visas som sig själva i MaskedTextBox. | Alla andra tecken. |
Decimalsymbolerna (.), tusendelar (,), tid (:), datum (/) och valuta ($) är standard för att visa dessa symboler enligt definitionen i programmets kultur. Du kan tvinga dem att visa symboler för en annan kultur med hjälp FormatProvider av egenskapen .
Reguljära uttryck och masker
Även om du kan använda reguljära uttryck och masker för att verifiera användarindata är de inte helt likvärdiga. Reguljära uttryck kan uttrycka mer komplexa mönster än masker, men masker kan uttrycka samma information mer kortfattat och i ett kulturellt relevant format.
I följande tabell jämförs fyra reguljära uttryck och motsvarande mask för var och en.
Reguljärt uttryck | Mask | Kommentar |
---|---|---|
\d{2}/\d{2}/\d{4} |
00/00/0000 |
Tecknet / i masken är en logisk datumavgränsare och visas för användaren som den datumavgränsare som är lämplig för programmets aktuella kultur. |
\d{2}-[A-Z][a-z]{2}-\d{4} |
00->L<LL-0000 |
Ett datum (dag, månadsförkortning och år) i USA format där förkortningen med tre bokstäver visas med en inledande versal följt av två gemener. |
(\(\d{3}\)-)?\d{3}-d{4} |
(999)-000-0000 |
USA telefonnummer, riktnummer valfritt. Om användaren inte vill ange de valfria tecknen kan de antingen ange blanksteg eller placera pekaren direkt på positionen i masken som representeras av de första 0. |
$\d{6}.00 |
$999,999.00 |
Ett valutavärde i intervallet 0 till 999999. Valuta, tusendel och decimaltecken ersätts vid körning med deras kulturspecifika motsvarigheter. |