我有一个项目,其中评估了一些JavaScript变量。因为字符串需要转义(仅单引号),所以我在测试函数中编写了完全相同的代码。我有以下一些非常简单的JavaScript代码:
function testEscape() {
var strResult = "";
var strInputString = "fsdsd'4565sd";
// Here, the string needs to be escaped for single quotes for the eval
// to work as is. The following does NOT work! Help!
strInputString.replace(/'/g, "''");
var strTest = "strResult = '" + strInputString + "';";
eval(strTest);
alert(strResult);
}
我想提醒它,说:
fsdsd'4565sd
。 最佳答案
事实是.replace()
不会修改字符串本身,因此您应该编写如下内容:
strInputString = strInputString.replace(...
似乎您没有正确执行字符转义。以下为我工作:
strInputString = strInputString.replace(/'/g, "\\'");