encodeURI() 函数
encodeURI() 函数将返回一个新字符串,表示编码为 URI 的给定字符串。
它对除以下字符外的所有字符进行编码:
A-Z a-z 0-9 ; ,/? : @ & = + $_ . ! ~ * ' ( ) #
不要使用已弃用且不编码“+”字符的 escape() 函数,这些字符将被解释为服务器上的编码空格。
encodeURIComponent() 函数
另一个内置方法 encodeURIComponent() 也用于在 JavaScript 中对 URL 进行编码。
它将返回一个新字符串,表示编码为 URI 组件的给定字符串。
该函数对除以下字符外的所有字符进行编码:
A-Z a-z 0-9 _ 。
! ~ * ' ( )
两个函数之间的区别在于 encodeURI() 对完整 URL 进行编码,而 encodeURIComponent() 对单个 URL 参数值进行编码。
以下示例显示了这两个函数之间的区别:
let encURI = encodeURI("http://onitroad.com/welcome!/"); //"http://onitroad.com/%20welcome!/" console.log(encURI);
let encURIComp = encodeURIComponent("http://www.example.org/a file with spaces.html"); //"http%3A%2F%2Fonitroad.com%2F%20welcome!%2F"console.log(encUrl); console.log(encURIComp);
URL 编码机制用于将 URL 中的任何数据编码为可以通过 Internet 传输的安全格式。
可以使用两个 JavaScript 函数对 JavaScript URL 进行编码,具体取决于我们要执行的操作。
这些函数是: encodeURI() 和 encodeURIComponent() 。
两者都用于通过将某些字符的每个实例替换为最多四个表示字符的 UTF-8 编码的转义序列来对 URI 进行编码。
让我们讨论它们中的每一个,并指出它们在编码 URL 方面的特点。
我们还可以查看我们的 URL Encoder 工具,让工作更轻松。
日期:2020-06-02 22:16:17 来源:oir作者:oir