Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przykładzie pokazano, jak przekonwertować proste wyrażenia regularne na pracę z kontrolką MaskedTextBox .
Opis języka maskowania
Standardowy MaskedTextBox język maskowania jest oparty na języku używanym przez kontrolkę Masked Edit w języku Visual Basic 6.0 i powinien być znajomy dla użytkowników migrujących z tej platformy.
Właściwość Mask kontrolki MaskedTextBox określa, jakiej maski wejściowej użyć. Maska musi być ciągiem składającym się z co najmniej jednego elementu maskowania z poniższej tabeli.
| Element maskowania | Opis | Element wyrażenia regularnego |
|---|---|---|
| 0 | Dowolna pojedyncza cyfra z zakresu od 0 do 9. Wymagany wpis. | \d |
| 9 | Cyfra lub spacja. Wpis opcjonalny. | [ \d]? |
| # | Cyfra lub spacja. Wpis opcjonalny. Jeśli ta pozycja pozostanie pusta w masce, zostanie ona renderowana jako spacja. Znaki plus (+) i minus (-) są dozwolone. | [ \d+-]? |
| L | Litera ASCII. Wymagany wpis. | [a-zA-Z] |
| ? | Litera ASCII. Wpis opcjonalny. | [a-zA-Z]? |
| & | Znak. Wymagany wpis. | [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}] |
| C | Znak. Wpis opcjonalny. | [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]? |
| A | Alfanumeryczny. Wpis opcjonalny. | \W |
| . | Symbol dziesiętny odpowiedni dla kultury. | Niedostępne. |
| , | Symbol zastępczy dla tysięcy odpowiednich kultur. | Niedostępne. |
| : | Separator czasu odpowiedni dla kultury. | Niedostępne. |
| / | Separator daty odpowiedni dla kultury. | Niedostępne. |
| $ | Symbol waluty właściwej dla kultury. | Niedostępne. |
| < | Konwertuje wszystkie znaki, które następują do małych liter. | Niedostępne. |
| > | Konwertuje wszystkie znaki, które następują do wielkich liter. | Niedostępne. |
| | | Cofa wcześniejsze przesunięcie w górę lub w dół. | Niedostępne. |
| \ | Unika znaku maski, zamieniając go w literał. "\\" jest sekwencją ucieczki dla ukośnika odwrotnego. | \ |
| Wszystkie inne znaki. | Literały. Wszystkie elementy inne niż maska pojawią się jako siebie same w elemencie MaskedTextBox. | Wszystkie inne znaki. |
Symbole dziesiętne (.), tysięczne (,), godziny (:), daty (/) i waluty ($) domyślnie wyświetlają te symbole zgodnie z definicją kultury aplikacji. Można wymusić wyświetlanie symboli dla innej kultury przy użyciu FormatProvider właściwości .
Wyrażenia regularne i maski
Mimo że można używać wyrażeń regularnych i masek do sprawdzania poprawności danych wejściowych użytkownika, nie są one całkowicie równoważne. Wyrażenia regularne mogą wyrażać bardziej złożone wzorce niż maski, ale maski mogą wyrażać te same informacje bardziej zwięźle i w formacie kulturowo istotnym.
W poniższej tabeli porównaliśmy cztery wyrażenia regularne i równoważną maskę dla każdego z nich.
| Wyrażenie regularne | Maska | Notatki |
|---|---|---|
\d{2}/\d{2}/\d{4} |
00/00/0000 |
Znak / w masce jest separatorem daty logicznej i będzie wyświetlany użytkownikowi jako separator daty odpowiedni dla bieżącej kultury aplikacji. |
\d{2}-[A-Z][a-z]{2}-\d{4} |
00->L<LL-0000 |
Data (dzień, skrót miesiąca i rok) w formacie Stanów Zjednoczonych, w którym jest wyświetlany trzyliterowy skrót miesiąca z początkową wielką literą, po której następuje dwie małe litery. |
(\(\d{3}\)-)?\d{3}-d{4} |
(999)-000-0000 |
Numer telefonu Stanów Zjednoczonych, opcjonalny kod obszaru. Jeśli użytkownik nie chce wprowadzać opcjonalnych znaków, może wprowadzić spacje lub umieścić wskaźnik myszy bezpośrednio w pozycji maski reprezentowanej przez pierwsze 0. |
$\d{6}.00 |
$999,999.00 |
Wartość waluty w zakresie od 0 do 999999. Waluta, znak tysięczny i znak dziesiętny zostaną zastąpione w czasie wykonywania ich odpowiednikami specyficznymi dla kultury. |