Compartilhar via


Usando expressões regulares com o controle MaskedTextBox no Visual Basic

Este exemplo demonstra como converter expressões regulares simples para trabalhar com o MaskedTextBox controle.

Descrição da Linguagem de Mascaramento

A linguagem de mascaramento padrão MaskedTextBox é baseada na usada pelo Masked Edit controle no Visual Basic 6.0 e deve ser familiar para os usuários que migram dessa plataforma.

A Mask propriedade do MaskedTextBox controle especifica qual máscara de entrada usar. A máscara deve ser uma cadeia de caracteres composta por um ou mais dos elementos de mascaramento da tabela a seguir.

Elemento de Mascaramento Descrição Elemento de expressão regular
0 Qualquer dígito único entre 0 e 9. Entrada necessária. \d
9 Dígito ou espaço. Entrada opcional. [ \d]?
# Dígito ou espaço. Entrada opcional. Se essa posição for deixada em branco na máscara, ela será renderizada como um espaço. Mais (+) e menos (-) sinais são permitidos. [ \d+-]?
L Letra ASCII. Entrada necessária. [a-zA-Z]
? Letra ASCII. Entrada opcional. [a-zA-Z]?
& Personagem. Entrada necessária. [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]
C Personagem. Entrada opcional. [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]?
Um Alfanumérico. Entrada opcional. \W
. Espaço reservado decimal apropriado à cultura. Não disponível.
, Espaço reservado para milhares apropriados à cultura. Não disponível.
: Separador de tempo apropriado à cultura. Não disponível.
/ Separador de data apropriado à cultura. Não disponível.
$ Símbolo de moeda apropriado à cultura. Não disponível.
< Converte todos os caracteres que seguem em letras minúsculas. Não disponível.
> Converte todos os caracteres que seguem em letras maiúsculas. Não disponível.
| Desfaz um deslocamento anterior para cima ou para baixo. Não disponível.
\ Ignora qualquer caractere, transformando-o em um literal. "\\" é a sequência de escape de uma barra invertida. \
Todos os outros caracteres. Literais Todos os elementos que não são máscaras aparecerão como eles mesmos dentro MaskedTextBox. Todos os outros caracteres.

Os símbolos decimal (.), milésimos (,), hora (:), data (/) e moeda ($) são padrão para exibir esses símbolos conforme definido pela cultura do aplicativo. Você pode forçá-los a exibir símbolos para outra cultura usando a FormatProvider propriedade.

Expressões e máscaras regulares

Embora você possa usar expressões e máscaras regulares para validar a entrada do usuário, elas não são completamente equivalentes. Expressões regulares podem expressar padrões mais complexos do que máscaras, mas máscaras podem expressar as mesmas informações de forma mais sucinta e em um formato culturalmente relevante.

A tabela a seguir compara quatro expressões regulares e a máscara equivalente para cada uma.

Expressão regular Máscara Anotações
\d{2}/\d{2}/\d{4} 00/00/0000 O / caractere na máscara é um separador de data lógica e será exibido para o usuário como o separador de data apropriado para a cultura atual do aplicativo.
\d{2}-[A-Z][a-z]{2}-\d{4} 00->L<LL-0000 Uma data (dia, abreviação de mês e ano) no formato dos Estados Unidos em que a abreviação de mês de três letras é exibida com uma letra maiúscula inicial seguida por duas letras minúsculas.
(\(\d{3}\)-)?\d{3}-d{4} (999)-000-0000 Número de telefone dos Estados Unidos, código de área opcional. Se o usuário não quiser inserir os caracteres opcionais, ele poderá inserir espaços ou colocar o ponteiro do mouse diretamente na posição na máscara representada pelo primeiro 0.
$\d{6}.00 $999,999.00 Um valor de moeda no intervalo de 0 a 999999. A moeda, o milésimo e os caracteres decimais serão substituídos em tempo de execução por seus equivalentes específicos à cultura.

Consulte também