Partage 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 qu’elles fonctionnent avec le contrôle MaskedTextBox.

Description du langage de masquage

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

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

Élément de masquage Description Élément d'expression régulière
0 N’importe quel chiffre compris entre 0 et 9. Vous devez remplir ce champ. \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 la forme d’un espace. Les signes plus (+) et moins (-) sont autorisés. [ \d+-]?
L Lettre ASCII. Vous devez remplir ce champ. [a-zA-Z]
? Lettre ASCII. Entrée facultative. [a-zA-Z]?
& Caractère. Vous devez remplir ce champ. [\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}]?
A Alphanumérique. Entrée facultative. \W
. Espace réservé décimal adapté à la culture. Non disponible.
, Espace réservé de milliers adapté à la culture. Non disponible.
: Séparateur d’heure adapté à la culture. Non disponible.
/ Séparateur de date adapté à la culture. Non disponible.
$ Symbole monétaire adapté à 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 déplacement précédent vers le haut ou vers le bas. Non disponible.
\ Place n’importe quel caractère dans une séquence d’échappement pour en faire un 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 apparaîtront eux-mêmes dans MaskedTextBox. Tous les autres caractères.

Les symboles décimaux (.), millièmes (,), heure (:), date (/) et devise ($) affichent par défaut ces symboles 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 propriété FormatProvider.

Expressions régulières et masques

Bien que vous puissiez utiliser des expressions régulières et des masques pour valider les entrées 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 pertinent du point de vue culturel.

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

Expression régulière Mask Notes
\d{2}/\d{2}/\d{4} 00/00/0000 Le caractère / dans le masque est un séparateur de date logique, et il apparaîtra à l’utilisateur en tant que 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 à 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 aux États-Unis, indicatif régional 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 dans le masque représenté par le premier 0.
$\d{6}.00 $999,999.00 Valeur monétaire comprise entre 0 et 999999. Les caractères monétaire, millième et décimal seront remplacés au moment de l’exécution par leurs équivalents spécifiques à la culture.

Voir aussi