
La función encodeURI() en javascript codifica URI cambiando cada copia de un carácter dado en una o más secuencias de escape que representan la codificación UTF-8 del carácter en cuestión.
Características generales
La función encodeURI
no codifica caracteres que tienen un significado especial (caracteres reservados) en los enlaces URI. El siguiente ejemplo muestra lo que puede contener un URI. Tenga en cuenta que algunos de los caracteres en él se utilizan para dar un significado especial.
http : //username:password@www.example.com:80/path/to/file.php?foo=316&bar=this+has+spaces#anchor
Por lo tanto, la función no codificará los encodeURI
caracteres necesarios para crear un URI completo. Tenga en cuenta que la función encodeURI
no codificará algunos caracteres conocidos como «marcas no reservadas», que no tienen intención reservada pero están permitidos en los URI «tal cual» (consulte RFC2496 ). La función encodeURI
escapa a todos los caracteres excepto:
A - Z a - z 0 - 9 ; , /? : @ & = + $ - _. ! ~ * '() #
La función encodeURI
difiere de la función encodeURIComponent
que se muestra en el siguiente ejemplo. Tenga en cuenta que la principal diferencia entre ellas está en la codificación de los caracteres reservados:
var set1 = ";, /?: @ & = + $ #" ; // caracteres reservados var set2 = "-_.! ~ * '()" ; // etiquetas no reservadas var set3 = "ABC abc 123" ; // letras, números y espacios console.log(encodeURI(set1)); // ;,/?:@&=+$# console.log(encodeURI(set2)); // -_.!~*'() console.log(encodeURI(set3)); // ABC%20abc%20123 (observe cómo se simboliza el espacio) console.log(encodeURIComponent(set1)); // %3B%2C%2F%3F%3A%40%26%3D%2B%24%23 console.log(encodeURIComponent(set2)); // -_.!~*'() console.log(encodeURIComponent(set3)); // ABC%20abc%20123 (observe cómo se simboliza el espacio)
Tenga en cuenta que la función encodeURI
no puede configurar las solicitudes GET y POST para usarlas con solicitudes XMLHTTPRequest
, porque &
y +
y =
no se codificarán, y estos caracteres tienen un significado especial en las solicitudes GET y POST. Pero la función se puede utilizar encodeURIComponent
para este propósito, ya que codifica estos caracteres.
Tenga en cuenta que si desea seguir el nuevo RFC3986 para URL, que hace que los corchetes están reservados (para direcciones IPv6) y, por lo tanto, no se codificarán en una URL, use la siguiente función simple:
function fixedEncodeURI(str) { return encodeURI(str).replace(/%5B/g, '[').replace(/%5D/g, ']'); }
Estructura encodeURI() javascript
encodeURI(URI)
encodedURI
URI completo.
Valor a devolver
Cadena que representa la versión codificada del URI.
Soporte de navegadores
Característica | Chrome | Firefox | IE | Ópera | Safari |
---|---|---|---|---|---|
Soporte básico | sí | sí | sí | sí | sí |
- Expresión const en JavaScript
- Expresión let en JavaScript
- Expresión var en JavaScript
- Expresión try…catch en JavaScript
- Expresión throw en JavaScript
- Continue en JavaScript
- Switch en JavaScript
- Expresiones if…else en JavaScript
- Declaración vacía o empty en JavaScript
- Break en JavaScript
- Sentencia block en JavaScript
- Arguments en JavaScript
- Promise en JavaScript
- Number en JavaScript
- Características JSON en JavaScript
- Array en JavaScript
- RegExp en JavaScript
- String en JavaScript
- Date en JavaScript
- Math en JavaScript
- URIError en JavaScript
- TypeError en JavaScript
- SyntaxError en JavaScript
- ReferenceError en JavaScript
- RangeError en JavaScript
- EvalError en JavaScript
- Características Boolean en JavaScript
- Error en JavaScript
- Función Symbol en JavaScript
- Constructor Function en JavaScript
- Constructor Object en JavaScript
- Función unescape() en JavaScript
- Función eval() en JavaScript
- Valor null en JavaScript
- Características Undefined en JavaScript
- Características NaN en JavaScript
- Características Infinity en JavaScript
- Función parseFloat() en JavaScript
- Función isNaN() en JavaScript
- Función isFinite() en JavaScript
- Función escape() en JavaScript
- Función encodeURIComponent() en JavaScript