如何使用JavaScript在另一个双(单)引号内转义双(单)引号

时间:2016-07-11 13:03:46

标签: javascript escaping

我有一个输入字段,用户可以在其中输入所有内容(""'')。如果没有事先知道他们的类型,我有什么方法可以逃脱报价?我的意思是如果用户输入("test"test'test")我如何将其存储在js变量中?任何建议都可以帮助我。

例如,我希望它能正常工作:

<!DOCTYPE HTML>
<html>
  <body>

    <script>

      var myVar = "test"test'test";
      console.log(myVar.replace('\"', '\\"'));

    </script> 
  </body>
</html>

1 个答案:

答案 0 :(得分:1)

INCORRECT(解释原因的评论):

你不能对已经语法断开的变量声明进行替换。你需要修复破碎的语法。

<!DOCTYPE HTML>
<html>
  <body>
    <script>
        // <-- You CANNOT do this. It's incorrect syntax. You need to escape it appropriately using backslashes.
        var myVar = "test"test'test";

        // This line is not required. You need to correct the syntax error above instead.
        console.log(myVar.replace('\"', '\\"'));
    </script> 
  </body>
</html>

<强> CORRECTED:

您可以在此处查看字符串文字中正确转义的值。

<!DOCTYPE HTML>
<html>
  <body>
    <script>
        var myVar = "test\"test\'test";
        console.log(myVar);
    </script> 
  </body>
</html>