我有一个项目,其中评估了一些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, "\\'");

10-08 04:15