一、JavaScript encodeURI() 函数
定义和用法
encodeURI() 函数可把字符串作为 URI 进行编码。
说明
该方法会保留原有的URI特征,不会对以下字符进行编码:
- (保留字符) [; , / ? : @ & = + $ ]
- (非转义的字符 )[- _ . ! ~ * ’ ( )]
- 数字符号 #
- 字母 数字
实例:
<script type="text/javascript">
document.write(encodeURI("http://www.w3school.com.cn")+ "<br />")
document.write(encodeURI("http://www.w3school.com.cn/My first/"))
document.write(encodeURI(",/?:@&=+$#"))
</script>
输出:
http://www.w3school.com.cn
http://www.w3school.com.cn/My%20first/
,/?:@&=+$#
二、JavaScript encodeURIComponent() 函数
定义和用法
encodeURIComponent() 函数可把字符串作为 URI 进行编码。
说明
不会对以下字符进行编码:
- (非转义的字符 )[- _ . ! ~ * ’ ( )]
- 字母 数字
实例:
<script type="text/javascript">
document.write(encodeURIComponent("http://www.w3school.com.cn"))
document.write("<br />")
document.write(encodeURIComponent("http://www.w3school.com.cn/p 1/"))
document.write("<br />")
document.write(encodeURIComponent(",/?:@&=+$#"))
</script>
输出:
http%3A%2F%2Fwww.w3school.com.cn
http%3A%2F%2Fwww.w3school.com.cn%2Fp%201%2F
%2C%2F%3F%3A%40%26%3D%2B%24%23
总结
encodeURIComponent比encodeURI编码的更加彻底,不保留原有的URI形式。根据适用场景进行选择。