Share via


Utilizzo di espressioni regolari con il controllo MaskedTextBox in Visual Basic

In questo esempio viene illustrato come convertire semplici espressioni regolari in modo che funzionino con il controllo MaskedTextBox.

Descrizione del linguaggio di mascheramento

Il linguaggio di mascheramento MaskedTextBox standard si basa su quello usato dal controllo Masked Edit in Visual Basic 6.0 e deve essere familiare agli utenti che eseguono la migrazione da tale piattaforma.

La proprietà Mask del controllo MaskedTextBox specifica quale maschera di input utilizzare. La maschera deve essere una stringa composta da uno o più elementi di mascheramento della tabella seguente.

Elemento di mascheramento Descrizione Elemento di espressione regolare
0 Qualsiasi singola cifra compresa tra 0 e 9. Voce obbligatoria. \d
9 Cifra o spazio. Voce facoltativa. [ \d]?
# Cifra o spazio. Voce facoltativa. Se questa posizione viene lasciata vuota nella maschera, ne verrà eseguito il rendering come spazio. Sono consentiti segni più (+) e meno (-). [ \d+-]?
L Lettera ASCII. Voce obbligatoria. [a-zA-Z]
? Lettera ASCII. Voce facoltativa. [a-zA-Z]?
& Carattere. Voce obbligatoria. [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]
A Carattere. Voce facoltativa. [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]?
Un Carattere alfanumerico. Voce facoltativa. \W
. Segnaposto decimale appropriato per le impostazioni cultura. Non disponibile.
, Segnaposto migliaia appropriate per le impostazioni cultura. Non disponibile.
: Separatore dell'ora appropriato per le impostazioni cultura. Non disponibile.
/ Separatore di data appropriato per le impostazioni cultura. Non disponibile.
$ Simbolo di valuta appropriato per le impostazioni cultura. Non disponibile.
< Converte tutti i caratteri che seguono in lettere minuscole. Non disponibile.
> Converte tutti i caratteri che seguono in lettere maiuscole. Non disponibile.
| Annulla uno spostamento precedente verso l'alto o verso il basso. Non disponibile.
\ Aggiunte un carattere di escape davanti a un carattere maschera, trasformandolo in un valore letterale. "\\" è la sequenza di escape per una barra rovesciata. \
Tutti gli altri caratteri. Valori letterali. Tutti gli elementi non maschera verranno visualizzati come se stessi all'interno di MaskedTextBox. Tutti gli altri caratteri.

I simboli per numeri decimali (.), migliaia (,), ora (:), data (/) e valuta ($) vengono visualizzati per impostazione predefinita come definito dalle impostazioni cultura dell'applicazione. È possibile forzare la visualizzazione di simboli per altre impostazioni cultura usando la proprietà FormatProvider.

Espressioni regolari e maschere

Sebbene sia possibile usare espressioni regolari e maschere per convalidare l'input dell'utente, questi approcci non sono completamente equivalenti. Le espressioni regolari possono esprimere criteri più complessi rispetto alle maschere, ma le maschere possono esprimere le stesse informazioni in modo più conciso e in un formato culturalmente rilevante.

Nella tabella seguente vengono confrontate quattro espressioni regolari e la maschera equivalente per ognuna.

Espressione regolare Maschera Note
\d{2}/\d{2}/\d{4} 00/00/0000 Il carattere / nella maschera è un separatore di data logico e viene visualizzato all'utente come separatore di data appropriato per le impostazioni cultura correnti dell'applicazione.
\d{2}-[A-Z][a-z]{2}-\d{4} 00->L<LL-0000 Data (giorno, abbreviazione del mese e anno) in formato Stati Uniti in cui l'abbreviazione di tre lettere del mese viene visualizzata con una lettera maiuscola iniziale seguita da due lettere minuscole.
(\(\d{3}\)-)?\d{3}-d{4} (999)-000-0000 Numero di telefono degli Stati Uniti, prefisso facoltativo. Se l'utente non vuole immettere i caratteri facoltativi, può immettere spazi o posizionare il puntatore del mouse direttamente nella posizione nella maschera rappresentata dal primo 0.
$\d{6}.00 $999,999.00 Valore di valuta incluso nell'intervallo compreso tra 0 e 999999. I caratteri per valuta, migliaia e numeri decimali verranno sostituiti in fase di esecuzione con gli equivalenti specifici delle impostazioni cultura.

Vedi anche