在实际开发过程中不免碰到请求参数带?/这种特殊符号特别类似于加密算法处理后更常见。
类似这种:
http:www.baidu.com?param=%123&/23=
不多说,看图
初级版本:
function toEncodeURL(param){
var str= param.replace(/\%/g, "%25");
str = str.replace(/\//g, "%2F");
str = str.replace(/\:/g, "%3A");
str = str.replace(/\+/g, "%2B");
str = str.replace(/\?/g, "%3F");
str = str.replace(/\#/g, "%23");
str = str.replace(/\&/g, "%26");
str = str.replace(/\=/g, "%3D");
return str;
}
说实在有点违背开发原则,所以:
升级版本:
encodeURIComponent(param);
简单粗暴,避免自己造轮子。
详细可以自己去官网找找自己需要的。
参考官网:https://www.w3school.com.cn/js/jsref_encodeuri.asp