Javascript 的 encodeURI()、decodeURI() 及其组件函数


encodeURI() 函数对整个 URI 进行编码,包括特殊字符,但不包括 (, / ? : @ & 等字符。

encodeURIComponent() 函数对 URI 的某些部分进行编码,主要通过对特殊字符进行编码。它还对以下字符进行编码:(, / ? : @ & 等。

decodeURI() 函数对 encodeURI() 函数生成的 URI 进行解码。

decodeURIComponent() 函数用于对 encodeURIComponent() 生成的 URI 的某些部分进行解码。

以下是 encodeURI()、decodeURI() 及其组件函数的代码:-

示例

 实时演示

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
   body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   }
   .encode,
   .decode {
      font-size: 18px;
      font-weight: 500;
   }
</style>
</head>
<body>
<h1>encodeURI(), decodeURI() and its components functions</h1>
<button class="encodeUri">ENCODE URI</button>
<button class="decodeUri">DECODE URI</button>
<button class="encodeUriComponent">ENCODE URI COMPONENT</button>
<button class="decodeUriComponent">DECODE URI COMPONENT</button>
<div class="encode"></div>
<div class="decode"></div>
<h3>
Click on the above buttons to encode or decode URI component
</h3>
<script>
   let fillEle = document.querySelector(".sample");
   let decodeEle = document.querySelector(".decode");
   let encodeEle = document.querySelector(".encode");
   let url = "https://www.google.com/sample%20link/?img=91gf.jpg&size=451px";
   let encodeUrl;
   document.querySelector(".encodeUri").addEventListener("click", () => {
      encodeUrl = encodeURI(url);
      encodeEle.innerHTML = "Encoded url = " + encodeUrl;
   });
   document.querySelector(".decodeUri").addEventListener("click", () => {
      decodeEle.innerHTML = "Decoded url = " + decodeURI(encodeUrl);
   });
   let encodeComponent;
   document
   .querySelector(".encodeUriComponent")
   .addEventListener("click", () => {
      encodeComponent = encodeURIComponent(url);
      encodeEle.innerHTML = "Encoded url = " + encodeComponent;
   });
   document
   .querySelector(".decodeUriComponent")
   .addEventListener("click", () => {
      decodeEle.innerHTML =
      "Decoded url = " + decodeURIComponent(encodeComponent);
   });
</script>
</body>
</html>

输出

单击“ENCODE URI”然后再单击“DECODE URI”按钮之后:-

更新于: 2020 年 5 月 7 日

223 次浏览

开启你的 职业生涯

通过完成课程获取认证

开始
广告
© . All rights reserved.