Como Validar URL: Guia Completo de Validação
Aprenda como validar URLs corretamente. Guia completo com estrutura, protocolos, regex e validador online gratuito.
Validar URLs é essencial para garantir que links em formulários, aplicações e sistemas estejam corretos e funcionais. Uma URL válida segue padrões específicos de estrutura e formato.
Neste guia completo, você aprenderá como validar URLs, entenderá a estrutura de uma URL, conhecerá os protocolos, usará regex para validação e testará URLs com nossa ferramenta online.
O Que é Validação de URL
Validação de URL é o processo de verificar se uma string segue o formato correto de URL (Uniform Resource Locator) segundo os padrões RFC 3986.
Validação verifica estrutura, protocolo, domínio e formato. Não verifica se a URL existe ou está acessível (isso requer fazer requisição HTTP).
É importante validar URLs em formulários para evitar erros de digitação, links quebrados e problemas de segurança.
Estrutura de uma URL
URL completa: protocolo://subdomínio.domínio.tld:porta/caminho?query=valor#fragmento
Exemplo: https://www.exemplo.com.br:443/produtos/categoria?id=123&ordem=preco#detalhes
Protocolo: https. Subdomínio: www. Domínio: exemplo. TLD: com.br. Porta: 443. Caminho: /produtos/categoria. Query: ?id=123&ordem=preco. Fragmento: #detalhes.
- Protocolo: http, https, ftp, etc.
- Subdomínio: www, blog, api (opcional)
- Domínio: nome do site
- TLD: .com, .br, .org, etc.
- Porta: :80, :443, :8080 (opcional)
- Caminho: /pasta/arquivo (opcional)
- Query string: ?param=valor (opcional)
- Fragmento: #secao (opcional)
Protocolos Comuns
HTTP: protocolo padrão da web. Não criptografado. Porta padrão 80. Exemplo: http://exemplo.com
HTTPS: HTTP seguro com criptografia SSL/TLS. Porta padrão 443. Recomendado para todos os sites. Exemplo: https://exemplo.com
FTP: protocolo de transferência de arquivos. Porta padrão 21. Exemplo: ftp://ftp.exemplo.com
Outros: mailto: (email), tel: (telefone), file: (arquivo local), ws: (WebSocket), wss: (WebSocket seguro).
Validação Básica
Verificar protocolo: deve começar com http://, https:// ou outro protocolo válido.
Verificar domínio: deve ter pelo menos um ponto (exemplo.com) e caracteres válidos (letras, números, hífen).
Verificar caracteres: apenas caracteres permitidos em URLs (letras, números, -, _, ., ~, :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =, %).
- Deve ter protocolo (http://, https://)
- Deve ter domínio válido
- Domínio deve ter TLD (.com, .br, etc.)
- Caracteres especiais devem ser codificados
- Não pode ter espaços
- Formato geral: protocolo://domínio/caminho
Regex para Validação
Regex simples: ^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$
Essa regex valida URLs HTTP/HTTPS com domínio, subdomínio opcional, caminho, query string e fragmento.
Regex mais completa pode validar portas, IPv4, IPv6, mas fica muito complexa. Para validação robusta, use bibliotecas especializadas.
Validação em Diferentes Linguagens
JavaScript: usar URL API nativa. try { new URL(string); return true; } catch { return false; }
Python: usar urllib.parse. from urllib.parse import urlparse; result = urlparse(url); return all([result.scheme, result.netloc])
PHP: usar filter_var. filter_var($url, FILTER_VALIDATE_URL) !== false
Java: usar java.net.URL. try { new URL(urlString); return true; } catch (MalformedURLException e) { return false; }
- JavaScript: new URL()
- Python: urllib.parse.urlparse()
- PHP: filter_var() com FILTER_VALIDATE_URL
- Java: new URL()
- Ruby: URI.parse()
- C#: Uri.TryCreate()
URLs Relativas vs Absolutas
URL absoluta: contém protocolo e domínio completo. Exemplo: https://exemplo.com/pagina.html
URL relativa: não tem protocolo/domínio, é relativa à página atual. Exemplo: /pagina.html ou ../outra-pagina.html
Validação de URLs relativas é diferente. Geralmente aceita-se qualquer caminho que comece com / ou ../ ou seja apenas nome de arquivo.
Problemas Comuns
Espaços na URL: devem ser codificados como %20 ou +. Exemplo: "minha pagina.html" deve ser "minha%20pagina.html"
Caracteres especiais: acentos e símbolos devem ser codificados. Exemplo: "página" deve ser "p%C3%A1gina"
Protocolo faltando: "exemplo.com" não é URL válida. Deve ser "https://exemplo.com"
Barra final: "https://exemplo.com" e "https://exemplo.com/" são tecnicamente diferentes, mas geralmente tratadas como iguais.
Conclusão
Validar URLs corretamente garante que links em seu sistema funcionem e evita erros de segurança. Use validação no frontend e backend.
Valide URLs gratuitamente com nossa ferramenta online. Verifica estrutura, protocolo e formato instantaneamente.