Inicio›Biblioteca›Patrones de validación con expresiones regulares

Patrones de validación con expresiones regulares

Dieciséis patrones de expresiones regulares para las tareas de validación y limpieza de texto más habituales: correo electrónico, URL, teléfono, seguridad de contraseñas, identificadores, fechas y un par de ayudas para buscar y reemplazar. Haz clic en una tarjeta para copiar solo el patrón, sin barras ni modificadores, y pégalo en el campo Patrón de la herramienta de expresiones regulares para probarlo con texto real. La mayoría de los patrones de esta página están anclados (^...$) para validar la cadena completa; los que eliminan etiquetas y espacios en blanco no están anclados, por lo que encuentran todas las coincidencias dentro de un texto más largo.

Abrir la herramienta →
Dirección de correo electrónico
Dirección de correo electrónico
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
URL (http/https)
URL (http/https)
^https?://[\w.-]+(?::\d+)?(?:/\S*)?$
Número de teléfono (formato internacional E.164)
Número de teléfono (formato internacional E.164)
^\+[1-9]\d{1,14}$
Número de móvil coreano
Número de móvil coreano
^01[016789]-?\d{3,4}-?\d{4}$
Contraseña segura (8+ caracteres, mayúsculas/minúsculas/dígitos/símbolos)
Contraseña segura (8+ caracteres, mayúsculas/minúsculas/dígitos/símbolos)
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\w\s]).{8,}$
Nombre de usuario (3-16 caracteres, letras/dígitos/guion bajo)
Nombre de usuario (3-16 caracteres, letras/dígitos/guion bajo)
^[a-zA-Z0-9_]{3,16}$
Slug de URL (kebab-case)
Slug de URL (kebab-case)
^[a-z0-9]+(?:-[a-z0-9]+)*$
UUID v4
UUID v4
^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
Código de color hexadecimal
Código de color hexadecimal
^#(?:[0-9a-fA-F]{3}){1,2}$
Eliminar etiquetas HTML
Eliminar etiquetas HTML
<[^>]+>
Dirección IPv4
Dirección IPv4
^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$
Fecha ISO 8601 (YYYY-MM-DD)
Fecha ISO 8601 (YYYY-MM-DD)
^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$
Hora en formato de 24 horas (HH:MM)
Hora en formato de 24 horas (HH:MM)
^([01]\d|2[0-3]):[0-5]\d$
Código postal de EE. UU.
Código postal de EE. UU.
^\d{5}(?:-\d{4})?$
Número de tarjeta de crédito (solo formato, 16 dígitos agrupados)
Número de tarjeta de crédito (solo formato, 16 dígitos agrupados)
^\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{1,4}$
Reducir espacios en blanco repetidos
Reducir espacios en blanco repetidos
\s{2,}

Preguntas frecuentes

¿Cómo uso estos patrones?
Haz clic en una tarjeta para copiar solo la cadena del patrón, sin barras ni modificadores. Pégala en el campo Patrón de la herramienta de expresiones regulares y escribe o pega texto en el área de prueba para ver las coincidencias resaltadas en tiempo real. Los modificadores se configuran por separado en la herramienta (el predeterminado es g, que busca todas las coincidencias en lugar de detenerse en la primera).
¿El patrón de correo electrónico detecta todas las direcciones válidas?
No. La gramática completa de RFC 5322 es tan compleja que un patrón totalmente correcto ocupa decenas de líneas. En la práctica, se usa un patrón sencillo como este para rechazar errores de escritura evidentes y entradas vacías, y un correo de verificación confirma que la dirección existe.
¿El patrón de tarjetas de crédito comprueba si el número es válido?
No, solo comprueba que haya 16 dígitos agrupados de cuatro en cuatro, separados opcionalmente por espacios o guiones. No calcula la suma de comprobación de Luhn ni reconoce formatos de 15 dígitos como el de American Express. Deja la validación real en manos de tu pasarela de pago.
¿Qué hacen los grupos (?=...) del patrón de contraseñas?
Son aserciones de anticipación: comprueban una condición sin consumir caracteres, lo que permite que un solo patrón exija minúsculas, mayúsculas, un dígito y un símbolo sin importar el orden en que aparezcan. Resulta mucho más claro que un patrón largo que imponga un orden concreto de caracteres.