MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

encodeURI()

Sommario

La funzione encodeURI() codifica un URI sostituendo alcuni specifici caratteri con una, due, tre o quattro sequenze di escape, che rappresentano il carattere codificato in UTF-8 (le sequenze di quattro caratteri di escape verrano solo create per i caratteri composti da due caratteri "surrogati").

Sintassi

encodeURI(uri)

Parametri

uri
Un URI completo.

Descrizione

Questa funzione assume che uri sia un URI completo, quindi non codifica i caratteri riservati che hanno un significato particolare nell'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 XMLHttpRequest, perché "&", "+" e "=" non vengono codificati, ma sono trattati come caratteri speciali nelle richieste GET e POST. Se è necessario codificarli, usare la funzione encodeURIComponent().

Se si tenta di codificare un surrogato che non è parte di una coppia, verrà generato un 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 URL RFC3986, nel quale le parentesi quadre sono caratteri riservati (per gli indirizzi IPv6), può essere utile il seguente codice:

function fixedEncodeURI(str) {
    return encodeURI(str).replace(/%5B/g, '[').replace(/%5D/g, ']');
}

Specifiche

Specifica Stato Commenti
ECMAScript 3rd Edition. Standard Definizione iniziale.
ECMAScript 5.1 (ECMA-262)
The definition of 'encodeURI' in that specification.
Standard  
ECMAScript 6 (ECMA-262)
The definition of 'encodeURI' in that specification.
Release Candidate  

Compatibilità con i browser

Funzionalità Chrome Firefox (Gecko) Internet Explorer Opera Safari
Supporto di base (Yes) (Yes) (Yes) (Yes) (Yes)
Funzionalità Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Supporto di base (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Vedi anche

Tag del documento e collaboratori

 Hanno collaborato alla realizzazione di questa pagina: nicolo-ribaudo
 Ultima modifica di: nicolo-ribaudo,