url元字符
URL元字符:分号(;)、逗号(;)、斜杠(/)、问号(?)、冒号(:)、@、&、等号(=)、加号(+)、美元($)、#。
语义字符
语义字符:a-z、A-Z、0-9、-、下划线_、点号.、叹号!、波浪号~、星号*、单引号(')、圆括号()。
- encodeURI()
通常用于转码整个URL,不对URL的元字符和语义字符进行转码。
- encodeURIComponent()
通常只用于转码URL组成部分,如URL组成部分,如URL中?后的一串,会转码除语义字符外的所有字符,即使元字符也会被转码。
var url = 'https://www.baidu.com';
console.log(url); //https://www.baidu.com
console.log(encodeURI(url)); //https://www.baidu.com
console.log(encodeURIComponent(url)); //https%3A%2F%2F2.zoppoz.workers.dev%3A443%2Fhttps%2Fwww.baidu.com