Validadores del mundo real

Valida los formatos que ves cada día: enteros, decimales, colores hex, horas, fechas, correos, slugs, direcciones IP, códigos ZIP y más.

Lee las reglas: Patrones comunes en la Guía →Entrénalo: Validadores de formatos →

Se basa en Lookarounds

Qué aprenderás

Números Colores hex Horas y fechas Correos Slugs y direcciones IP

Pasos · 14

  1. 01Validar el mundo realInstrucciones
  2. 02Números enterosCaza
  3. 03Números decimalesCaza
  4. 04Colores hexCaza
  5. 05Formato de 24 horasCaza
  6. 06Fechas ISOCaza
  7. 07Correos simplesCaza
  8. 08Slugs de URLCaza
  9. 09Direcciones IPv4Caza
  10. 10Códigos ZIP de EE. UU.Caza
  11. 11HashtagsCaza
  12. 12Nombres de usuarioCaza
  13. 13Golf: hex cortoCaza
  14. 14Validadores completadosInstrucciones

Patrones de validación con regex

Una regex de validación responde a una sola pregunta: ¿tiene este texto la forma correcta? Los formularios de registro, las hojas de cálculo y los archivos de configuración están llenos de valores que deberían tener cierto aspecto, como una hora, una fecha, un código de color o una dirección de correo. Rodea el patrón con ^ y $ y tendrá que coincidir con el valor entero, así que un espacio suelto o un carácter de más hacen fallar la comprobación.

Cada formato se construye con piezas pequeñas. \d es un dígito, {4} pide exactamente cuatro, ? hace opcional una parte y un grupo como (am|pm) enumera las opciones permitidas. Los rangos numéricos son lo más delicado: (100|[1-9]?\d) cubre del 0 al 100, mientras que \d+ también dejaría pasar 250. En cada caza de esta ruta escribes un validador que atrapa los valores buenos y deja libres los que casi lo son.

Sé realista sobre lo que puede saber una regex. Comprueba el formato, no el significado. Un patrón de fecha acepta tan tranquilo 31/02/2026 a menos que escribas ramas extra para cada mes, y un patrón de correo no puede saber si el buzón existe. Usa la regex como un primer filtro rápido y deja que el código de verdad revise el calendario, envíe un correo de confirmación o busque el registro.

Ejemplos

  1. /^(0?[1-9]|1[0-2]):[0-5]\d ?(am|pm)$/i

    Atrapa

    • 9:30 am
    • 12:05PM
    • 07:45 pm

    Deja libre

    • 13:00 pm
    • 9:60 am
    • 9:30

    Una hora en formato de 12 horas: de 1 a 12 con un cero inicial opcional, y el modificador i acepta tanto pm como PM.

  2. /^(0[1-9]|[12]\d|3[01])/(0[1-9]|1[0-2])/\d{4}$/

    Atrapa

    • 05/11/2026
    • 31/12/1999
    • 31/02/2026

    Deja libre

    • 5/11/2026
    • 12/13/2026
    • 32/01/2026

    El día y el mes se comprueban por rangos, pero 31/02/2026 sigue pasando, porque el patrón conoce formas, no calendarios.

  3. /^[A-Z]{3}-\d{4}$/

    Atrapa

    • ABC-1234
    • XYZ-0042

    Deja libre

    • AB-1234
    • abc-1234
    • ABC-12345
    • ABC1234

    Un código de producto: exactamente tres letras mayúsculas, un guion y cuatro dígitos, y las anclas rechazan cualquier cosa más larga.

  4. /^(100|[1-9]?\d)%$/

    Atrapa

    • 0%
    • 42%
    • 100%

    Deja libre

    • 101%
    • 07%
    • 42

    [1-9]?\d cubre del 0 al 99 sin cero inicial, y 100 tiene su propia rama.

Errores frecuentes

  • Olvidar las anclas. Sin ^ y $, un patrón de cuatro dígitos también da por buenos 12345 y abc2026, porque encuentra una coincidencia en algún punto de dentro.
  • Dejar el punto sin escapar. En un decimal o en un dominio, . coincide con cualquier carácter, así que 3x14 se cuela en una comprobación de números; escribe \. cuando quieras un punto de verdad.
  • Querer cubrir todos los casos raros con un solo patrón. Una regex de email que siga el estándar completo ocupa cientos de caracteres; un patrón corto más un correo de confirmación se lee mejor y detecta más errores reales.

Lee las reglas: Patrones comunes en la Guía →Entrénalo: Validadores de formatos →

Lee más: Regex de email: patrones listos para copiar que funcionan de verdad →

Lee más: Regex para direcciones IPv4: de 0 a 255 como es debido →