Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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. |