乐趣区

关于javascript:js对url含有特殊字符的转码处理

问题

url 上传有特殊字符,导致接口拼接传参会报 400 的谬误

解决办法

办法一:正则替换

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 一样

退出移动版