Welke tekens maken een URL ongeldig?

Welke tekens maken een URL ongeldig?

Zijn dit geldige URL's?

  • voorbeeld.com/file[/].html
  • http://example.com/file[/].html

In het algemeen kunnen URI's zoals gedefinieerd door RFC 3986 (zie Sectie 2: Tekens) elk van de volgende 84 tekens bevatten:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~:/?#[]@!$&'()*+,;=

Merk op dat deze lijst niet aangeeft waar in de URI deze tekens kunnen voorkomen.

Elk ander karakter moet worden gecodeerd met de percent-encoding (%hh). Elk deel van de URI heeft verdere beperkingen over welke tekens moeten worden gerepresenteerd door een percent-gecodeerd woord.

Commentaren (25)

Alle geldige tekens die in een URI kunnen worden gebruikt (een URL is een type URI) zijn gedefinieerd in RFC 3986.

Alle andere tekens kunnen in een URL worden gebruikt op voorwaarde dat ze eerst worden "URL Encoded". Dit houdt in dat het ongeldige teken wordt vervangen door specifieke "codes" (meestal in de vorm van het procentteken (%) gevolgd door een hexadecimaal getal).

Deze link, HTML URL Encoding Reference, bevat een lijst van de coderingen voor ongeldige tekens.

Commentaren (1)

Niet echt een antwoord op je vraag maar het valideren van url's is echt een serieuze p.i.t.a Je kunt waarschijnlijk beter gewoon de domeinnaam valideren en het query gedeelte van de url laten staan. Dat is mijn ervaring. U zou ook uw toevlucht kunnen nemen tot het pingen van de url en kijken of het resulteert in een geldig antwoord, maar dat is misschien te veel voor zo'n eenvoudige taak.

Reguliere expressies om url's te detecteren zijn er in overvloed, google er maar eens op :)

Commentaren (2)