首页 > 编程笔记 > JavaScript笔记 阅读:8

JavaScript对url进行编码和解码(附带实例)

浏览网页时,经常会在地址栏中看到一些含有百分号(%)的内容,这些内容就是经过编码的信息。

因为一些符号在网址中有着特殊的含义,如果在数据中包含了这些符号,就应该对它们进行编码。JavaScript 代码中,可以使用以下一些函数对 URL 内容进行编码和解码操作。

encodeURI() 和 decodeURI() 函数只对文本中的特殊字符进行编码和解码。下面的代码演示了这两个方法的应用:
<script>
    var s = "http://www.test.com/?keyword=测试 ";
    var encode = encodeURI(s);
    document.write(encode);
    document.write("<br>");
    document.write(decodeURI(encode));
</script>
代码执行结果为:

http://www.test.com/?keyword=%E6%B5%8B%E8%AF%95
http://www.test.com/?keyword=测试

encodeURI() 和 decodeURI() 函数不会进行编码的字符包括:字母、数字、#、-、_、.、!、~、*、'、(、)、;、,、/、?、:、@、&、=、+、$。

encodeURIComponent() 和 decodeURIComponent() 函数可以对文本中除字母、数字、(、)、.、!、~、*、'、-和_字符之外的其他内容进行编码和解码,如下面的代码:
<script>
    var s = "http://www.test.com/?keyword=测试";
    var encode = encodeURIComponent(s);
    document.write(encode);
    document.write("<br>");
    document.write(decodeURIComponent(encode));
</script>
代码执行结果为:

http%3A%2F%2Fwww.test.com%2F%3Fkeyword%3D%E6%B5%8B%E8%AF%95
http://www.test.com/?keyword=测试

相关文章