Expresiones regulares JavaScript
Guía básica sobre expresiones regulares en javascript con ejemplos de cómo implementar validaciones en campos de formulario con expresiones regulares
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])$/
Caracteres especiales de las expresiones regulares:
^ | 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. |
Salto de línea. | |
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_]. |
A continuación algunos de los patrones más utilizados a la hora de validar formularios.
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])$/
Ejemplo de función en JavaScript:
function validate(campo) {Tutorial en PDF
var RegExPattern = /(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,10})$/;
var errorMessage = 'Campo Incorrecto.';
if ((campo.value.match(RegExPattern)) && (campo.value!='')) {
alert('Campo Correcto');
} else {
alert(errorMessage);
campo.focus();
}
}