Javascript encodeURIComponent不编码单引号

Ily*_*hov 25 javascript

试试看:

encodeURIComponent("'@#$%^&");
Run Code Online (Sandbox Code Playgroud)

如果你试试这个,你会看到所有特殊字符都被编码,除了单引号.我可以使用什么函数对所有字符进行编码并使用PHP对其进行解码?

谢谢.

Ber*_*rgi 48

我不确定你为什么要对它们进行编码.如果你只想逃避单引号,你可以使用.replace(/'/g, "%27").但是,很好的参考资料是:


小智 8

您可以使用:

function fixedEncodeURIComponent (str) {
  return encodeURIComponent(str).replace(/[!'()*]/g, escape);
}

fixedEncodeURIComponent("'@#$%^&");
Run Code Online (Sandbox Code Playgroud)

检查参考:http : //mdn.beonex.com/en/JavaScript/Reference/Global_Objects/encodeURIComponent.html