Regex Tester

Patron Regex de URL: Validación de URL

Patron regex para coincidir y validar URL HTTP/HTTPS con cadenas de consulta, fragmentos, puertos y segmentos de ruta.

100% del lado del cliente. Tus datos nunca salen de tu navegador.

//gm
4 coincidencias
https://example.com https://devbento.dev/tools/regex-tester http://localhost:3000/api/users?page=1&limit=10 https://sub.domain.example.co.uk/path/to/resource#section ftp://not-http.com not a url https://example.com/search?q=hello+world&lang=en
Detalles de Coincidencia

Patron Regex de URL

El patrón de arriba coincide con URL HTTP y HTTPS, incluyendo rutas, cadenas de consulta y fragmentos. Rechaza esquemas ftp:// y cadenas sin protocolo. Coincide con https://example.com, URL de herramientas devbento, API de localhost con parámetros de consulta y URL de subdominio con fragmento. NO coincide con ftp://not-http.com o cadenas de texto plano.

Desglose del Patron

PartePatronQue coincide
Protocolohttps?:\/\/http:// o https://
Host[\w\-]+(\.[\w\-]+)+Nombre de dominio con al menos un punto
Ruta, consulta, fragmento([\w.,@?^=%&:/~+#\-]*[\w@?^=%&/~+#\-])?Ruta opcional y cadena de consulta

Constructor URL como Alternativa de Validación

Para JavaScript, new URL(input) es la forma más fiable de verificar si una cadena es una URL absoluta válida:

function isValidUrl(str) {
  try {
    const url = new URL(str);
    return url.protocol === 'http:' || url.protocol === 'https:';
  } catch {
    return false;
  }
}

Esto maneja casos extremos que el regex no maneja: direcciones IPv6 (http://[::1]:8080/), dominios internacionales después de normalización Punycode y caracteres con codificación porcentual en rutas.

Casos Extremos que el Patron No Cubre

Las URL con información de autenticación (http://user:pass@example.com) no coinciden porque interfieren con el análisis del host. Las URL con direcciones IPv6 (http://[2001:db8::1]/) requieren manejo de corchetes que agrega complejidad significativa. Los dominios Unicode (https://münchen.de) deben convertirse primero a Punycode para que el patrón coincida.

Extracción de URL de Texto

El uso más práctico de un regex de URL es extraer enlaces de registros, marcado o texto plano. Al hacerlo con la bandera g, ten en cuenta que la sintaxis de enlace de marcado ([etiqueta](https://url)) también coincidira con el carácter ) de cierre.