Un buen tutorial para iniciarse en el manejo de expresiones regulares lo podemos encontrar en Desarrolloweb. Para realizar el ejemplo siguiente no hay porque conocer en profundidad su manejo. A continuación muestro una serie de tablas a modo de chuleta para que podamos utilizarlas con un simple corta y pega.
La tabla siguiente contiene los caracteres especiales de las expresiones regulares.
Carácter | Texto buscado |
---|---|
^ | Principio de entrada o línea. |
$ | Fin de entrada o línea. |
* | El carácter anterior 0 o más veces. |
+ | El carácter anterior 1 o más veces. |
? | El carácter anterior una vez como máximo (es decir, indica que el carácter anterior es opcional). |
. | Cualquier carácter individual, salvo el de salto de línea. |
x|y | x o y. |
{n} | Exactamente n apariciones del carácter anterior. |
{n,m} | Como mínimo n y como máximo m apariciones del carácter anterior. |
[abc] | Cualquiera de los caracteres entre corchetes. Especifique un rango de caracteres con un guión (por ejemplo, [a-f] es equivalente a [abcdef]). |
[^abc] | Cualquier carácter que no esté entre corchetes. Especifique un rango de caracteres con un guión (por ejemplo, [^a-f] es equivalente a [^abcdef]). |
\b | Límite de palabra (como un espacio o un retorno de carro). |
\B | Cualquiera que no sea un límite de palabra. |
\d | Cualquier carácter de dígito. Equivalente a [0-9]. |
\D | Cualquier carácter que no sea de dígito. Equivalente a [^0-9]. |
\f | Salto de página. |
\n | Salto de línea. |
\r | Retorno de carro. |
\s | Cualquier carácter individual de espacio en blanco (espacios, tabulaciones, saltos de página o saltos de línea). |
\S | Cualquier carácter individual que no sea un espacio en blanco. |
\t | Tabulación. |
\w | Cualquier carácter alfanumérico, incluido el de subrayado. Equivalente a [A-Za-z0-9_]. |
\W | Cualquier carácter que no sea alfanumérico. Equivalente a [^A-Za-z0-9_]. |
La tabla siguiente contiene algunos de los patrones más utilizados a la hora de validar formularios. Si alguien conoce alguna expresión regular más -que pueda ser útil en la validación de formularios- la puede poner en los comentarios y yo la incorporaré a esta tabla.
Cualquier letra en minuscula | [a-z] |
Entero | ^(?:\+|-)?\d+$ |
Correo electrónico | /[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/ |
URL | ^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)( [a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$ |
Contraseña segura | (?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,10})$(Entre 8 y 10 caracteres, por lo menos un digito y un alfanumérico, y no puede contener caracteres espaciales) |
Fecha | ^\d{1,2}\/\d{1,2}\/\d{2,4}$(Por ejemplo 01/01/2007) |
Hora | ^(0[1-9]|1\d|2[0-3]):([0-5]\d):([0-5]\d)$(Por ejemplo 10:45:23) |
Número tarjeta de crédito | ^((67\d{2})|(4\d{3})|(5[1-5]\d{2})|(6011))(-?\s?\d{4}){3}|(3[4,7])\ d{2}-?\s?\d{6}-?\s?\d{5}$ |
Número teléfono | ^[0-9]{2,3}-? ?[0-9]{6,7}$ |
Código postal | ^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$ |
Certificado Identificación Fiscal | ^(X(-|\.)?0?\d{7}(-|\.)?[A-Z]|[A-Z](-|\.)?\d{7}(-|\.)? [0-9A-Z]|\d{8}(-|\.)?[A-Z])$ |
Valida sólo números del 1 al 12 (ideal para meses) | ^([0-1]?[0-2]|[0-9])$ |
Valida de 0.1 a 9.9 | ^([0-9].[1-9])$ |
Valida desde 10.01 hasta 99.99 con 2 decimales máximo | ^[0-9][0-9](.[0-9][0-9])$ |
Valida desde 0.01 hasta 99.99 con sólo 2 decimales máximo espero les sirva y si pueden comenten en donde están ocupando el código. Saludos Jose Arcos | ^[0-9]?[0-9](.[0-9 |