HTML特殊字符不会被Javascript替换

HTML特殊字符不会被Javascript替换,javascript,html,Javascript,Html,在将字符串输入HTML之前,我试图解码字符串中的一些特定字符。但是,由于某种原因,它不起作用。 例如: 我的输入字符串是“安培13” 在JS中,我用这个函数替换每个特殊字符: htmlEntities: function(str) { return str.replace(/\\/g, "\").replace("'", "'").replace(".", ".").replace("%", "%").replace("\"

在将字符串输入HTML之前,我试图解码字符串中的一些特定字符。但是,由于某种原因,它不起作用。 例如:

我的输入字符串是“安培13”

在JS中,我用这个函数替换每个特殊字符:

htmlEntities: function(str) {
    return str.replace(/\\/g, "\").replace("'", "'").replace(".", ".").replace("%", "%").replace("\"",""");
},
但是,当将其转换为HTML时,它仍然看起来像: “13安培”

我想用替换的特殊字符显示我的数据


我做错了什么?

字符串中只有一个反斜杠没有被识别为“\”,而是一个转义序列。其他角色正在被完美地替换。我已经编写了下面的函数,它相应地提醒输出字符串

 function test() {
        var str = "ampere 13th\'.";
        alert(str.replace(/\\/g, "&#92").replace("'", "'").replace(".", ".").replace("%", "%").replace("\"", """));
    }
它提醒我

ampere 13th'.
ampere 13th&#92'.
除了替换“\”字符外,其他都是正确的。如果要替换“\”,可以进一步搜索如何替换java脚本中的反斜杠字符

如果我有这样的输入字符串

var str = "ampere 13th\\'.";
有两个反斜杠,那么替换就完全发生了,我的功能会提醒我

ampere 13th'.
ampere 13th&#92'.

可能的重复取决于您如何将其放入HTML中<代码>'是
'
的HTML实体,因此将
'转换为HTML将呈现。。。猜猜看
'
@deceze那么,我想用什么方法来输入html特殊sybmols lile呢?或者它总是会被转换?同样,这取决于你如何插入文本。如果您使用的是
innerHTML
,请改用
innerText
!否则,将转义序列转义到
&#39;