--- title: encodeURI() slug: Web/JavaScript/Reference/Global_Objects/encodeURI translation_of: Web/JavaScript/Reference/Global_Objects/encodeURI ---
La funzione encodeURI()
codifica un {{Glossary("URI")}} sostituendo alcuni specifici caratteri con una, due, tre o quattro sequenze di escape, che rappresentano il carattere codificato in {{Glossary("UTF-8")}} (le sequenze di quattro caratteri di escape verrano solo create per i caratteri composti da due caratteri "surrogati").
encodeURI(uri)
uri
Questa funzione assume che uri
sia un {{Glossary("URI")}} completo, quindi non codifica i caratteri riservati che hanno un significato particolare nell'{{Glossary("URI")}}.
encodeURI
sostituisce tutti i caratteri con la sequenza di escape UTF-8 appropriata, ecceto i seguenti:
Tipo | Caratteri |
Caratteri riservati | ; , / ? : @ & = + $ |
Caratteri non codificati | lettere, cifre, - _ . ! ~ * ' ( ) |
Score | # |
encodeURI
non prepara una richiesta HTTP GET o POST, ad esempio per {{domxref("XMLHttpRequest")}}, perché "&", "+" e "=" non vengono codificati, ma sono trattati come caratteri speciali nelle richieste GET e POST. Se è necessario codificarli, usare la funzione {{jsxref("Global_Objects/encodeURIComponent", "encodeURIComponent()")}}.
Se si tenta di codificare un surrogato che non è parte di una coppia, verrà generato un {{jsxref("Global_Objects/URIError", "URIError")}}.
// Coppia surrogata: Ok encodeURI("\uD800\uDFFF"); // Solo il primo carattere surrogato: // Viene generato un "URIError: malformed URI sequence" encodeURI("\uD800"); // Solo il secondo carattere surrogato: // Viene generato un "URIError: malformed URI sequence" encodeURI("\uDFFF");
Se uno desidera seguire il più recente standard per gli {{Glossary("URL")}} RFC3986, nel quale le parentesi quadre sono caratteri riservati (per gli indirizzi {{Glossary("IPv6")}}), può essere utile il seguente codice:
function fixedEncodeURI(str) { return encodeURI(str).replace(/%5B/g, '[').replace(/%5D/g, ']'); }
Specifica | Stato | Commenti |
---|---|---|
ECMAScript 3rd Edition. | Standard | Definizione iniziale. |
{{SpecName('ES5.1', '#sec-15.1.3.3', 'encodeURI')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-encodeuri-uri', 'encodeURI')}} | {{Spec2('ES6')}} |
{{ CompatibilityTable() }}
Funzionalità | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Supporto di base | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} |
Funzionalità | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Supporto di base | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} |