Si queremos que un campo de texto en un formulario acepte solo ciertos valores o longitud de caracteres es necesario establecer una expresión regular (Pattern) a la pregunta. Este es un tema poco técnico así que si tienes dificultades apoyate con un programador o contáctanos, se utiliza un Pattern basado en el lenguaje de programación de Java.


En este ejemplo queremos que la pregunta "Nombre" solo acepte como respuesta que contenga caracteres que sean letras, ya sean mayúsculas o minúsculas.



Ejemplos simples


Expresión regular Descripción
\b[0-9]{5}\b Ejemplo para el código postal, solo 5 dígitos.
\b[abc]{1}\b Ejemplo para escribir un carácter a, b o c

\b[a-zA-Z]{10}\b

Ejemplo para escribir 10 letras

\b[0-9]{10}\b

Ejemplo para escribir un número de 10 dígitos


A continuación una tabla de la expresiones regulares (Patterns) comúnmente usadas. Para una referencia completa puedes consultar la versión oficial sobre la clase Pattern del lenguaje de programación de Java.


Expresión Encaja con
Caracteres

 

x El carácter x
El carácter
n El carácter con valor octal 0n (0 <= n <= 7)
nn El carácter con valor octal 0nn (0 <= n <= 7)
mnn El carácter con valor octal 0mnn (0 <= m <= 3, 0 <= n <= 7)
xhh El carácter con valor hexadecimal 0xhh
uhhhh El carácter con valor hexadecimal 0xhhhh
El tabulador ('u0009')
Nueva línea (line feed) ('u000A')
Retorno de carro ('u000D')
f Nueva página ('u000C')
a Un beep de alerta (bell) ('u0007')
e Escape ('u001B')
cx El caracter de control que corresponde a x
Intervalos de caracteres

 

[abc] ab, o c
[^abc] Cualquier carácter excepto ab, o c (negación)
[a-zA-Z] Desde la a a la z o desde la A hasta la Z, incluidos
[a-d[m-p]] Desde la a hasta la d, o desde la m a la p[a-dm-p] (union)
[a-z&&[def]] La d, la e, o la f (intersección)
[a-z&&[^bc]] Desde la a hasta la z, excepto la b y la c[ad-z] (resta)
[a-z&&[^m-p]] Desde la a hasta la z, excepto desde la m hasta la p[a-lq-z](resta)
Intervalos de caracteres predefinidos

 

. Cualquier carácter (puede que no se incluyan los terminadores de linea)
d Un numero: [0-9]
D Todo menos un numero: [^0-9]
s Un espacio en blanco: [ x0Bf ]
S Todo menos un espacio en blanco: [^s]
w Una letra: [a-zA-Z_0-9]
W Todo menos letras: [^w]
Intervalos de caracteres POSIX
(solo para US-ASCII)

 

{lower} Letras minusculas: [a-z]
{upper} Letras mayusculas:[A-Z]
{alpha} Letras:[{lower}{upper}]
{digit} Numero decimal: [0-9]
{alnum} Caracter alfanumerico:[{alpha}{digit}]
{punct} Signos de puntuación: uno de !"#$%&'()*+,-./:;<=>?@[]^_`{|}~
{graph} Los caracteres visibles: [{alnum}{punct}]
{print} Los caracteres imprimibles: [ {graph}]
{blank} Un espacio o un tabulador: [ ]
{cntrl} Un caracter de control: [x00-x1Fx7F]
{xdigit} Un numero hexadecimal: [0-9a-fA-F]
{space} Un espacio: [ x0Bf ]


Cuantificadores de cantidad

 

X? X, una o ninguna vez
X* X, cero o ninguna vez
X+ X, una o mas veces
X{n} X, exactamente n veces
X(n,} X, por lo menos n veces
X{n,m} X, por lo menos n veces pero no mas de m veces
Operadores lógicos

 

XY X seguido de Y
X|Y X o Y
(X) X, como un grupo