Compartilhar via


Usando Expressões Regulares com o Controle MaskedTextBox no Visual Basic

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

Descrição da Linguagem Máscara

A linguagem máscara padrão MaskedTextBox é baseada na usada pelo controle Masked Edit no Visual Basic e deve ser familiar aos usuários migrando desta plataforma.

A propriedade Mask do controle MaskedTextBox especifica qual máscara de entrada usar.Essa máscara deve ser uma string composta por um ou mais elementos de máscara da seguinte tabela.

Elemento de Máscara

Descrição

Elemento de expressão regular

0

Qualquer único dígito entre 0 e 9.Entrada requerida.

\d

9

Dígito ou espaço.Entrada opcional.

[\d]?

#

Dígito ou espaço.Entrada opcional.Se a posição é deixada vazia na máscara, ela será renderizada como um espaço.Mais (+) e menos (-) são permitidos.

[ \d+-]?

L

Letra ASCII.Entrada requerida.

[a-zA-Z]

?

Letra ASCII.Entrada opcional.

[a-zA-Z]?

&

Caractere.Entrada requerida.

[\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]

C

Caractere.Entrada opcional.

[\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}]?

A

Alfanumérico.Entrada opcional.

\W

.

Local apropriado para decimal.

Não disponível.

,

Local apropriado para milhares.

Não disponível.

:

Separador de tempo apropriado.

Não disponível.

/

Separador de dada apropriado.

Não disponível.

$

Símbolo de moeda apropriado.

Não disponível.

<

Converte todos os caracteres que seguem para caixa baixa.

Não disponível.

>

Converte todos os caracteres que seguem para caixa alta.

Não disponível.

|

Desfaz um shift alto ou baixo anterior.

Não disponível.

\

Libera um caractere de máscara, tornando-o um literal."\\" é a sequência de escape para uma barra invertida.

\

Todos outros caracteres.

Literais.Todos elementos não máscara irão apares como eles mesmos dentro de MaskedTextBox.

Todos outros caracteres.

O padrão de símbolos decimal (.), milhares (,), tempo (:), data (/), e moeda ($) a aparecer são definidos pela localização da aplicação.Você pode forçá-los a mostrar símbolos de outra localização usando a propriedade FormatProvider.

Expressões Regulares e Máscaras.

Apesar de que você pode usar expressões regulares e máscaras para validar a entrada do usuários, elas não são completamente equivalentes.Expressões regulares podem expressar padrões mais complexos que máscaras, mas máscaras podem expressar a mesma informação de forma mais sucinta e num formato localmente relevante.

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

Expressão Regular

Máscara

Anotações

\d{2}/\d{2}/\d{4}

00/00/0000

O caractere / na máscara é um separador lógico de data, e irá aparecer ao usuário como um separador de data apropriado para a localização da aplicação.

\d{2}-[A-Z][a-z]{2}-\d{4}

00->L<LL-0000

Uma data (dia, abreviação do mês e ano) no formato americano em que a abreviação de mês de três letras é mostrada com a primeira letra maiúscula e as duas seguintes em minúsculas.

(\(\d{3}\)-)? \d{3}-d{4}

(999)-000-0000

Telefone nos EUA, código de área opcional.Se o usuário não quer entrar os caracteres opcionais, ele pode entrar espaços ou colocar o 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, milésimos e caracteres Decimal serão substituídos no time de execução com seus equivalentes específicos da cultura.

Consulte também

Referência

Mask

MaskedTextBox

Outros recursos

Validação de Cadeias de Caracteres no Visual Basic

Controlar de MaskedTextBox (Windows Forms)