js对url含有特殊字符的转码处理

问题

url 上传有特殊字符,导致接口拼接传参会报400的错误
js对url含有特殊字符的转码处理_第1张图片

解决办法

方法一:正则替换

var str = str.replace(/\+/g, "%2B"); //"+" 转义  
var str = str.replace(/\&/g, "%26"); //"&" 转义
var str = str.replace(/\#/g, "%23"); //"#" 转义

方法二:encodeURIComponent(str) 方法 (推荐)

let str = 'NBA+';
str = encodeURIComponent(str);
console.log(str) // NBA%2B

当然,可以两者结合,再你不知道该特殊字符的转义的时候,可以使用 encodeURIComponent() 来解码得到,就像你不知道键盘某键的keyCode一样

你可能感兴趣的:(javascript)