Megosztás a következőn keresztül:


Reguláris kifejezések használata a MaskedTextBox vezérlővel a Visual Basicben

Ez a példa bemutatja, hogyan konvertálhat egyszerű reguláris kifejezéseket úgy, hogy azok működjenek a MaskedTextBox vezérlővel.

A maszkoló nyelv leírása

A standard MaskedTextBox maszkolási nyelv a Visual Basic 6.0 vezérlő által Masked Edit használt nyelven alapul, és ismerős lehet azoknak a felhasználóknak, akik erről a platformról migrálnak.

A Mask vezérlő tulajdonsága határozza meg a MaskedTextBox használni kívánt beviteli maszkot. A maszknak egy vagy több, az alábbi táblázatban szereplő maszkoló elemből álló karakterláncnak kell lennie.

Maszkoló elem Leírás Reguláris kifejezéselem
0 Bármely egy számjegy 0 és 9 között. Bejegyzés megadása kötelező. \d
9 Számjegy vagy szóköz. A bejegyzés nem kötelező. [ \d]?
# Számjegy vagy szóköz. A bejegyzés nem kötelező. Ha ezt a pozíciót üresen hagyja a maszkban, akkor szóközként jelenik meg. Plusz (+) és mínusz (-) jelek engedélyezettek. [ \d+-]?
L ASCII betű. Bejegyzés megadása kötelező. [a-zA-Z]
? ASCII betű. A bejegyzés nem kötelező. [a-zA-Z]?
& Karakter. Bejegyzés megadása kötelező. [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]
C Karakter. A bejegyzés nem kötelező. [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]?
Egy Alfanumerikus. A bejegyzés nem kötelező. \W
. Kultúra szerinti tizedes elválasztó. Nem érhető el.
, Kulturálisan megfelelő több ezer helyőrző. Nem érhető el.
: Kulturálisan megfelelő időelválasztó. Nem érhető el.
/ Kultúrának megfelelő dátumelválasztó. Nem érhető el.
$ Kultúrának megfelelő pénznemszimbólum. Nem érhető el.
< Az összes következő karaktert kisbetűssé alakítja. Nem érhető el.
> Az összes utána következő karaktert nagybetűssé alakítja. Nem érhető el.
| Egy korábbi fel vagy le irányú elmozdítás visszavonása. Nem érhető el.
\ Az escape-eli a maszkkaraktert, és literálissá alakítja. A "\\" egy fordított perjel menekülési sorozata. \
Minden más karakter. Literálok. Minden nem maszk elem önmagukként jelenik meg az MaskedTextBox-ben. Minden más karakter.

A decimális (.), ezred (,), az idő (:), dátum (/) és pénznem ($) szimbólumok alapértelmezés szerint az alkalmazás kultúrája által meghatározott szimbólumokat jelenítik meg. A tulajdonság használatával kényszerítheti őket egy másik kultúra szimbólumainak megjelenítésére FormatProvider .

Reguláris kifejezések és maszkok

Bár a felhasználói bevitel ellenőrzéséhez használhat reguláris kifejezéseket és maszkokat, ezek nem teljesen egyenértékűek. A reguláris kifejezések összetettebb mintákat fejezhetnek ki, mint a maszkok, de a maszkok tömörebben és kulturálisan releváns formában is kifejezhetik ugyanazokat az információkat.

Az alábbi táblázat négy reguláris kifejezést és az azzal egyenértékű maszkot hasonlítja össze.

Reguláris kifejezés Maszk Jegyzetek
\d{2}/\d{2}/\d{4} 00/00/0000 A / maszkban lévő karakter egy logikai dátumelválasztó, amely az alkalmazás aktuális kultúrájának megfelelő dátumelválasztóként jelenik meg a felhasználó számára.
\d{2}-[A-Z][a-z]{2}-\d{4} 00->L<LL-0000 Amerikai egyesült államokbeli dátum (nap, hónap rövidítés és év), amelyben a hárombetűs hónap rövidítése egy kezdő nagybetűvel, majd két kisbetűvel jelenik meg.
(\(\d{3}\)-)?\d{3}-d{4} (999)-000-0000 Amerikai egyesült államokbeli telefonszám, körzetszám megadása nem kötelező. Ha a felhasználó nem szeretné megadni az opcionális karaktereket, szóközöket is beírhat, vagy az egérmutatót közvetlenül az első 0 által képviselt maszkban lévő pozícióba helyezheti.
$\d{6}.00 $999,999.00 0 és 999999 közötti pénznemérték. A pénznem, az ezred és a decimális karakterek futásidőben lecserélődnek a kultúraspecifikus megfelelőikre.

Lásd még