Partilhar 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 controle especifica qual máscara de MaskedTextBox 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 Description Elemento de expressão regular
0 Qualquer dígito entre 0 e 9. Entrada obrigató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. São permitidos sinais de mais (+) e menos (-). [ \d+-]?
L Carta ASCII. Entrada obrigatória. [a-zA-Z]
? Carta ASCII. Entrada opcional. [a-zA-Z]?
& Personagem. Entrada obrigató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}]?
A Alfanumérico. Entrada opcional. \W
. Espaço reservado decimal apropriado à cultura. Não disponível.
, Espaço reservado para milhares de pessoas apropriadas à cultura. Não disponível.
: Separador de tempo adequado à cultura. Não disponível.
/ Separador de data adequado à cultura. Não disponível.
$ Símbolo de moeda apropriado à cultura. Não disponível.
< Converte todos os caracteres seguintes em minúsculas. Não disponível.
> Converte todos os caracteres seguintes em maiúsculas. Não disponível.
| Desfaz um turno anterior para cima ou para baixo. Não disponível.
\ Escapa de um personagem de máscara, transformando-o em um literal. "\\" é a sequência de escape para uma barra invertida. \
Todos os outros personagens. Literais. Todos os elementos que não sejam máscara aparecerão como eles mesmos no MaskedTextBox. Todos os outros personagens.

Os símbolos decimal (.), milésimos (,), hora (:), data (/) e moeda ($) usam como padrão a exibição desses 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 regulares e máscaras

Embora você possa usar expressões regulares e máscaras para validar a entrada do usuário, elas não são completamente equivalentes. As expressões regulares podem expressar padrões mais complexos do que as máscaras, mas as máscaras podem expressar as mesmas informações de forma mais sucinta e num 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 Notas
\d{2}/\d{2}/\d{4} 00/00/0000 O / caractere na máscara é um separador de data lógico e aparecerá 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, abreviatura de mês e ano) no formato dos Estados Unidos em que a abreviatura de três letras do mês é exibida com uma letra maiúscula inicial seguida de 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 desejar inserir os caracteres opcionais, ele pode 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 da cultura.

Consulte também