Maison >interface Web >js tutoriel >encodeURI(), encodeURIComponent() ou escape() : quand utiliser lequel pour le codage d'URL ?

encodeURI(), encodeURIComponent() ou escape() : quand utiliser lequel pour le codage d'URL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-13 22:57:11620parcourir

encodeURI(), encodeURIComponent(), or escape(): When to Use Which for URL Encoding?

Quand utiliser escape, encodeURI ou encodeURIComponent

Encodage des chaînes de requête

Lors de l'encodage une chaîne de requête à transmettre à un serveur web, différentes fonctions ont des spécificités fins :

escape()

  • Bien qu'il soit défini dans la norme ECMAScript, escape() est obsolète et ne doit pas être utilisé. Il présente des caractéristiques indésirables qui sont obsolètes dans le développement Web moderne.

encodeURI()

  • Utilisez encodeURI() pour encoder un Chaîne d'URL. Cela code les caractères spéciaux, tels que les espaces, pour garantir une structure d'URL valide. Par exemple :

    encodeURI("http://www.google.com?var1=value1&var2=value2");

    renverra :

    http://www.google.com?var1=value1&var2=value2

encodeURIComponent()

  • Utilisez encodeURIComponent() pour encoder des paramètres spécifiques dans une chaîne URL. Cela garantit que les caractères spécifiques, tels que les espaces, sont correctement codés dans les valeurs des paramètres. Par exemple :

    encodeURIComponent("var1=value1&var2=value2");

    renverra :

    var1%3Dvalue1%26var2%3Dvalue2

Consignes d'utilisation

  • Pour l'encodage terminé Pour les URL, utilisez encodeURI().
  • Pour encoder des paramètres spécifiques dans les URL, utilisez encodeURIComponent().
  • Évitez d'utiliser escape() à quelque fin que ce soit.
  • N'oubliez pas qu'encodeURI() et encodeURIComponent() n'échappent pas au guillemet simple ('). Pour vous protéger contre les vulnérabilités d'injection lors de la construction d'attributs HTML avec des guillemets simples, envisagez plutôt d'utiliser des guillemets doubles (") ou de coder le guillemet simple comme '.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn