encodeURI()和encodeURIComponent()的区别
时间: 2023-12-20 14:30:38 浏览: 129
escape、encodeURI 和 encodeURIComponent 的区别
`encodeURI()`和`encodeURIComponent()`都是JavaScript中的编码函数,用于将字符串转换为URL安全格式。它们的区别在于编码的范围不同。
`encodeURI()`主要用于对整个URL进行编码,除了常见的不需要编码的字符(如字母、数字、下划线、连字符、点号和波浪线)外,对其他字符都进行编码。而`encodeURIComponent()`则用于对URL中的参数部分进行编码,它会对所有特殊字符进行编码,包括常见的不需要编码的字符。
下面是两个函数的使用示例:
```javascript
// encodeURI()示例
var url = "https://www.example.com?name=张三&age=18";
var encodedUrl = encodeURI(url);
console.log(encodedUrl); // 输出:https://www.example.com?name=%E5%BC%A0%E4%B8%89&age=18
// encodeURIComponent()示例
var param = "张三&李四";
var encodedParam = encodeURIComponent(param);
console.log(encodedParam); // 输出:%E5%BC%A0%E4%B8%89%26%E6%9D%8E%E5%9B%9B
```
阅读全文