encodeURI() mã hóa toàn bộ URI bao gồm ký tự đặc biệt trừ các ký tự (, / ? : @ & = + $ #).
encodeURIComponent() mã hóa một phần URI, bao gồm cả các ký tự trên.
decodeURI() giải mã URI được tạo bởi encodeURI().
decodeURIComponent() giải mã phần URI được tạo bởi encodeURIComponent().
Ví dụ
<!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() và các hàm thành phần</h1> <button class="encodeUri">MÃ HÓA URI</button> <button class="decodeUri">GIẢI MÃ URI</button> <button class="encodeUriComponent">MÃ HÓA URI COMPONENT</button> <button class="decodeUriComponent">GIẢI MÃ URI COMPONENT</button> <div class="encode"></div> <div class="decode"></div> <h3> Nhấn các nút để mã hóa/giải mã URI </h3> <script> 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 = "URL đã mã hóa = " + encodeUrl; }); document.querySelector(".decodeUri").addEventListener("click", () => { decodeEle.innerHTML = "URL đã giải mã = " + decodeURI(encodeUrl); }); let encodeComponent; document .querySelector(".encodeUriComponent") .addEventListener("click", () => { encodeComponent = encodeURIComponent(url); encodeEle.innerHTML = "URL đã mã hóa = " + encodeComponent; }); document .querySelector(".decodeUriComponent") .addEventListener("click", () => { decodeEle.innerHTML = "URL đã giải mã = " + decodeURIComponent(encodeComponent); }); </script> </body> </html>
Kết quả
So sánh kết quả mã hóa toàn bộ URI và chỉ mã hóa thành phần.