Javascript replace()删除单引号会产生奇怪的结果

时间:2016-01-22 23:23:43

标签: javascript

使用此代码

"test\536".replace(/'/g, "")

我希望原始字符串没有什么不同,因为没有单引号。但我得到了这个

"test+6"

当我在带有单引号的字符串上运行它时,它按预期工作

"test'536".replace(/'/g, "")
"test536"

1 个答案:

答案 0 :(得分:4)

问题在于您的字符串,在JavaScript字符串中\用于转义以下字符。所以如果你想阻止这种行为你应该使用另一个斜杠来逃避它,它将是\\

"test\\536".replace(/'/g, "")

console.log("test\\536".replace(/'/g, ""));
console.log("test'536".replace(/'/g, ""));

希望这有帮助。