web-dev-qa-db-fra.com

Quels caractères sont valides dans une URL?

Duplicata possible:
Quels caractères rendent une URL invalide?

J'essaie de supprimer la partie non URL d'une grande chaîne. La plupart des expressions rationnelles que j'ai trouvées sont comme [A-Za-z0-9-_.!~*'()], mais il y a plus de choses que peut contenir une URL. Comme http://127.0.0.1:8080/test?v=123#this par exemple

Quels sont donc les derniers caractères d'une URL valide?

51
blez

Tous les détails sanglants peuvent être trouvés dans le RFC actuel sur le sujet: RFC 3986 (Uniform Resource Identifier (URI): Syntaxe générique)

Sur la base de cette réponse connexe , vous consultez une liste qui ressemble à: A-Z, a-z, 0-9, -, ., _, ~, :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, %, et =. Tout le reste doit être encodé en URL . De plus, certains de ces caractères ne peuvent exister que dans des emplacements très spécifiques d'un URI et en dehors de ces emplacements doivent être encodés en URL (par exemple % ne peut être utilisé qu'en conjonction avec le codage url comme dans %20), la RFC possède toutes ces spécificités.

95
ckittel