Compartir a través de


Utilizar expresiones regulares con el control MaskedTextBox en Visual Basic

Actualización: noviembre 2007

Este ejemplo muestra cómo convertir las expresiones regulares simples para trabajar con el control MaskedTextBox.

Descripción del idioma de enmascarado

El lenguaje de enmascarado estándar MaskedTextBox se basa en el usado por el control Masked Edit de Visual Basic 6.0 y debe resultar familiar a los usuarios que migren desde esa plataforma.

La propiedad Mask del control MaskedTextBox especifica qué máscara de entrada se debe utilizar. La máscara debe ser una cadena compuesta de uno o más de los elementos de enmascarado contenidos en la tabla siguiente.

Elemento de enmascarado

Descripción

Elemento de expresión regular

0

Cualquier dígito único comprendido entre 0 y 9. Entrada obligatoria.

\d

9

Dígito o espacio. Entrada opcional.

[ \d]?

#

Dígito o espacio. Entrada opcional. Si esta posición es el espacio en blanco izquierdo de la máscara, se representará como un espacio. Se pueden usar signos más (+) y menos (-).

[ \d+-]?

L

Letra ASCII. Entrada obligatoria.

[a-zA-Z]

?

Letra ASCII. Entrada opcional.

[a-zA-Z]?

&

Character. Entrada obligatoria.

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

C

Character. Entrada opcional.

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

A

Alfanumérico. Entrada opcional.

\W

.

Marcador de posición de decimales adecuado para la configuración regional.

No disponible.

,

Marcador de posición de separador de miles adecuado para la referencia cultural.

No disponible.

:

Separador de hora adecuado para la configuración regional.

No disponible.

/

Separador de fecha adecuado para la configuración regional.

No disponible.

$

Símbolo de moneda adecuado para la referencia cultural.

No disponible.

<

Convierte a minúsculas todos los caracteres siguientes.

No disponible.

>

Convierte a mayúsculas todos los caracteres siguientes.

No disponible.

|

Deshace un cambio anterior a mayúsculas o minúsculas.

No disponible.

\

Es un escape para un carácter de máscara, convirtiéndolo en un literal. "\\" es la secuencia de escape para una barra diagonal inversa.

\

Todos los demás caracteres.

Literales. Todos los elementos no enmascarados aparecerán como tales dentro de MaskedTextBox.

Todos los demás caracteres.

Los símbolos decimal (.), de miles (,), de hora (:), de fecha (/) y de moneda ($) toman como valor predeterminado los definidos por la configuración regional y de referencia cultural de la aplicación. Puede forzarlos a que muestren los símbolos de otra referencia cultural utilizando la propiedad FormatProvider.

Expresiones regulares y máscaras

Aunque puede utilizar expresiones regulares y máscaras para validar los datos proporcionados por el usuario, no son completamente equivalentes. Las expresiones regulares pueden expresar modelos más complejos que los de las máscaras, pero las máscaras pueden expresar más sucintamente la misma información y en un formato adecuado a las referencias culturales.

La tabla siguiente compara cuatro expresiones regulares y la máscara equivalente a cada una.

Expresión regular

Máscara

Notas

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

00/00/0000

El carácter / de la máscara es un separador de fecha lógico, y se presentará al usuario como el separador de fecha apropiado a las referencias culturales actuales de la aplicación.

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

00->L<LL-0000

Una fecha (día, abreviatura del mes y año) en el formato de Estados Unidos, en el que se muestra la abreviatura de los meses con tres letras con una letra mayúscula inicial seguida por dos letras en minúscula.

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

(999)-000-0000

Número de teléfono de Estados Unidos, con código de área opcional. Si el usuario no desea escribir los caracteres opcionales, puede escribir espacios o colocar el puntero del mouse directamente en la posición de la máscara representada por el primer 0.

$\d{6}.00

$999,999.00

Un valor de moneda comprendido entre 0 y 999999. Los caracteres de moneda, separadores de miles y separadores decimales se reemplazarán en tiempo de ejecución con sus equivalentes en la referencia cultural.

Vea también

Referencia

Mask

MaskedTextBox

Otros recursos

Validar cadenas en Visual Basic

MaskedTextBox (Control, formularios Windows Forms)