Expresiones regulares útiles

Siguiendo con el especial de regexp, pongo un conjunto de expresiones regulares para validación de entradas comunes:

Validación de direcciones email:
Permite sólo letras, números, guión, subrayado y puntos.
No deja punto como primer caracter.
Debe terminar en punto y de 2 a 6 letras.
No distingue mayúsculas, quitar el parámetro i del final de la expresión.
Ejemplo: nombre_24.apellido-yo@mi.dominio.com

/^[a-z0-9_-]+(?:.[a-z0-9_-]+)*@[a-z0-9_-]+
(?:.[a-z0-9_-]+)*.[a-z]{2,6}$/i

Validación de direcciones IP sin puerto:
Permite sólo cuatro números de 0 a 255 separados por puntos.
No admite especificar puerto.
Ejemplo: 192.168.1.0

/^(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])
(.(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])){3}$/

Validación de puertos:
Sólo acepta números comprendidos entre 0 y 65535
Ejemplo: 8080

/^(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|
6[0-4][0-9]{3}|[0-5]?([0-9]){0,3}[0-9])$/;

Validación de dirección IP con puerto opcional:
Se trata de la unión de los dos anteriores.
Ejemplo: 192.168.1.1:8080

/^(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])
(.(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])){3}
(:(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|
6[0-4][0-9]{3}|[0-5]?([0-9]){0,3}[0-9]))?$/

Validación de una dirección URL aceptando argumentos GET opcionalmente:
Acepta protocolos ftp, http y https.
Valida opcionalmente argumentos pasados mediante GET.
Permite el caracter % para unicode.
Ejemplo: http://www.miweb.es/catalogo/mostrar.php?codigo=20&nombre=uno

/^(ftp|https|http)://[a-z0-9-_%]+
((.|/)[a-z0-9-_%]+)*(.[a-z]{2,6})
(?[a-z0-9-_%]+=[a-z0-9-_%]+
(&[a-z0-9-_%]+=[a-z0-9-_%]+)*)?$/i

Validación de fechas:
limita dias entre 1 y 31 permitiendo 0 inicial
limita meses entre 1 12 permitiendo 0 inicial
limita años entre 1900 y 2099. Obliga a cuatro dígitos
permite separar por barras o guiones
no contempla el mes de febrero que tiene hasta 29 dias
Ejemplo: 22-01-1989 o 12/3/2001

Formato español(DD/MM/AAAA):
/^(3[0-1]|[1-2][0-9]|0?[1-9])[-/](1[0-2]|0?[1-9])
[-/](19[0-9]{2}|20[0-9]{2})$/

Formato de Estados Unidos(AAAA/MM/DD):
/^(19[0-9]{2}|20[0-9]{2})[-/](1[0-2]|0?[1-9])
[-/](3[0-1]|[1-2][0-9]|0?[1-9])$/

NOTA: Cada una de estas expresiones debe ir en una única línea sin espacios.

Sin categoría

Deja una respuesta