encodeURI()​  函数通过将特定字符的每个实例替换为一个、两个、三或四转义序列来对统一资源标识符 (URI) 进行编码 (该字符的 UTF-8 编码仅为四转义序列)由两个 "代理" 字符组成)。

语法:encodeURI(URI)        URI:一个完整的URI.

返回值:一个新字符串, 表示提供的字符串编码为统一资源标识符 (URI)。

​encodeURI​​ 会替换所有的字符,但不包括以下字符,即使它们具有适当的UTF-8转义序列:

类型

包含

保留字符

​;​​​ ​​,​​​ ​​/​​​ ​​?​​​ ​​:​​​ ​​@​​​ ​​&​​​ ​​=​​​ ​​+​​​ ​​$​

非转义的字符

字母 数字 ​​-​​​ ​​_​​​ ​​.​​​ ​​!​​​ ​​~​​​ ​​*​​​ ​​'​​​ ​​(​​​ ​​)​

数字符号

​#​

  • encodeURIComponent:转义除了字母、数字、(、)、.、!、~、*、'、-和_之外的所有字符。
  • decodeURI:函数解码一个由encodeURI 先前创建的统一资源标识符(URI)或类似的例程。
  • decodeURIComponent:用于解码由encodeURIComponent方法或者其它类似方法编码的部分统一资源标识符(URI)。
encodeURI('?name=小 明&pwd=12 3') // "?name=%E5%B0%8F%20%E6%98%8E&pwd=12%203"
encodeURIComponent('?name=小 明&pwd=12 3') // "%3Fname%3D%E5%B0%8F%20%E6%98%8E%26pwd%3D12%203"
decodeURI('?name=%E5%B0%8F%20%E6%98%8E&pwd=12%203') // "?name=小 明&pwd=12 3"
decodeURI('%3Fname%3D%E5%B0%8F%20%E6%98%8E%26pwd%3D12%203') // "%3Fname%3D小 明%26pwd%3D12 3"
decodeURIComponent('%3Fname%3D%E5%B0%8F%20%E6%98%8E%26pwd%3D12%203') // "?name=小 明&pwd=12 3"