如何在 JavaScript 中编码 URL
答案:使用encodeURIComponent()
方法
您可以使用内置方法 encodeURIComponent()
在 JavaScript 中安全地编码 URL。
encodeURIComponent()
方法对除以下字符外的所有字符进行编码:
A-Z a-z 0-9 - _ . ! ~ * ' ( )
让我们看一个例子来了解这个方法的基本工作原理:
示例
<script>
/* URL 不安全字符串 */
var item = "$url+/unsafe@item #name;"
/* 编码项目名称并附加到 URL */
var url = "http://example.com/search.asp?product=" + encodeURIComponent(item);
document.write(url);
/* Prints: http://example.com/search.asp?product=%24url%2B%2Funsafe%40item%20%23name%3B */
</script>
您也可以使用 encodeURI()
方法,该方法不对 URI 具有特殊含义 (保留字符
) 的字符进行编码,例如 #
, /
, ?
等
encodeURI()
方法对除以下字符外的所有字符进行编码:
A-Z a-z 0-9 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #
以下示例演示了此方法的实际工作原理:
示例
<script>
/* 示例 URL */
var url = "http://example.com/search.asp?product=laptop&price=500#featured";
document.write(url);
/* Prints: http://example.com/search.asp?product=laptop&price=500#featured */
</script>
请查看关于 HTML URL
和 HTML URL 编码
的教程,了解有关 URL 和 URL 编码的不同组成部分的更多信息。
FAQ 相关问题解答
以下是与此主题相关的更多常见问题解答: