我在 JS 中遇到了撇号(“'”)的问题。我正在使用 encodeURIComponent() 对其进行编码,然后将 (') 替换为 (%27) ,如下所示。
var request = encodeURIComponent(requestString).replace("'", "%27");
但是,如果撇号带有括号,则撇号不会被替换。
前任: (”)'”) (”')”) (”('”)
即使撇号后面跟着一个数字,它也不会被替换。
有解决方案吗?
提前致谢。
尼鲁士
我在 JS 中遇到了撇号(“'”)的问题。我正在使用 encodeURIComponent() 对其进行编码,然后将 (') 替换为 (%27) ,如下所示。
var request = encodeURIComponent(requestString).replace("'", "%27");
但是,如果撇号带有括号,则撇号不会被替换。
前任: (”)'”) (”')”) (”('”)
即使撇号后面跟着一个数字,它也不会被替换。
有解决方案吗?
提前致谢。
尼鲁士
String.replace
方法接受字符串或正则表达式作为其第一个参数。当字符串作为第一个参数传递时,仅替换第一个匹配项:
"'''''".replace("'", "%27"); // "%27''''"
您应该使用正则表达式和g
标志;替换所有匹配项:
"'''''".replace(/'/g, "%27"); // "%27%27%27%27%27"
您需要指定/g
全局修饰符:
var request = encodeURIComponent(requestString).replace(/'/g, "%27");
例子:
var str = "(''')";
var request = encodeURIComponent(str).replace(/'/g, "%27");
console.log(request); // (%27%27%27)