textarea 文本中的引号会干扰代码

Quotation marks in textarea text interfere with code

我在 HTML 中有一个文本区域,其中包含一段文字。然后我有一个 jQuery 函数,它查看文本区域并将其与函数中定义的段落进行比较。如果两个段落相同,则文本区域框将背景颜色更改为绿色,否则为红色。但是,问题是在 jQuery 函数中,该段落包含的引号会干扰标识字符串的引号。有办法解决这个问题吗?

您需要使用正则表达式之类的东西来转义文本区域值中的引号,然后将其与转义字符串进行比较:

$(document).ready(function(){
  $('.submit').on('click', function(){
  var text = $('textarea').val().replace(/"/g, """).replace(/'/, "'");
        if (text === "I said, "Hello!"") {
        $('textarea').css('background-color', 'green');
    }
  });
});

https://jsfiddle.net/c3gathkc/