Partager via


Utilisation d’expressions régulières avec le contrôle MaskedTextBox en Visual Basic

Cet exemple montre comment convertir des expressions régulières simples pour travailler avec le MaskedTextBox contrôle.

Description de la langue de masquage

Le langage de masquage standard MaskedTextBox est basé sur celui utilisé par le Masked Edit contrôle dans Visual Basic 6.0 et doit être familiarisé avec les utilisateurs qui migrent à partir de cette plateforme.

La Mask propriété du MaskedTextBox contrôle spécifie le masque d’entrée à utiliser. Le masque doit être une chaîne composée d’un ou plusieurs éléments de masquage du tableau suivant.

Élément de masquage Descriptif Élément d’expression régulière
0 Tout chiffre unique compris entre 0 et 9. Entrée requise. \d
9 Chiffre ou espace. Entrée facultative. [ \d] ?
# Chiffre ou espace. Entrée facultative. Si cette position est laissée vide dans le masque, elle est affichée sous forme d’espace. Les signes plus (+) et moins (-) sont autorisés. [ \d+-] ?
L LETTRE ASCII. Entrée requise. [a-zA-Z]
? LETTRE ASCII. Entrée facultative. [a-zA-Z] ?
& Caractère. Entrée requise. [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]
C Caractère. Entrée facultative. [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}] ?
Un Alphanumérique. Entrée facultative. \W
. Espace réservé décimal approprié à la culture. Non disponible.
, Espace réservé à milliers appropriés à la culture. Non disponible.
: Séparateur de temps approprié à la culture. Non disponible.
/ Séparateur de date adapté à la culture. Non disponible.
$ Symbole monétaire approprié à la culture. Non disponible.
< Convertit tous les caractères qui suivent en minuscules. Non disponible.
> Convertit tous les caractères qui suivent en majuscules. Non disponible.
| Annule un changement précédent vers le haut ou vers le bas. Non disponible.
\ Échappe un caractère de masque et le convertit en littéral. "\\" est la séquence d’échappement d’une barre oblique inverse. \
Tous les autres caractères. littéraux. Tous les éléments non-masque apparaissent comme eux-mêmes dans MaskedTextBox. Tous les autres caractères.

Les symboles décimaux (.), millièmes (,), heure (:), date (/), et devise ($) s'affichent par défaut tels que définis par la culture de l'application. Vous pouvez les forcer à afficher des symboles pour une autre culture à l’aide de la FormatProvider propriété.

Expressions régulières et masques

Bien que vous puissiez utiliser des expressions régulières et des masques pour valider l’entrée utilisateur, ils ne sont pas complètement équivalents. Les expressions régulières peuvent exprimer des modèles plus complexes que des masques, mais les masques peuvent exprimer les mêmes informations de manière plus succincte et dans un format culturellement pertinent.

Le tableau suivant compare quatre expressions régulières et le masque équivalent pour chacun d’eux.

Expression régulière Masque Remarques
\d{2}/\d{2}/\d{4} 00/00/0000 Le / caractère du masque est un séparateur de date logique, et il apparaît à l’utilisateur comme séparateur de date approprié à la culture actuelle de l’application.
\d{2}-[A-Z][a-z]{2}-\d{4} 00->L<LL-0000 Date (jour, abréviation de mois et année) au format États-Unis dans lequel l’abréviation de mois de trois lettres est affichée avec une lettre majuscule initiale suivie de deux lettres minuscules.
(\(\d{3}\)-)?\d{3}-d{4} (999)-000-0000 Numéro de téléphone des États-Unis, code de zone facultatif. Si l’utilisateur ne souhaite pas entrer les caractères facultatifs, il peut entrer des espaces ou placer le pointeur de la souris directement à la position du masque représenté par les 0 premiers.
$\d{6}.00 $999,999.00 Valeur monétaire comprise entre 0 et 999999. La devise, le millième et les caractères décimaux seront remplacés au moment de l’exécution par leurs équivalents propres à la culture.

Voir aussi