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] | a, b, o c |
[^abc] | Cualquier carácter excepto a, b, 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 |