HTML特殊字符不会被Javascript替换
在将字符串输入HTML之前,我试图解码字符串中的一些特定字符。但是,由于某种原因,它不起作用。 例如: 我的输入字符串是“安培13” 在JS中,我用这个函数替换每个特殊字符:HTML特殊字符不会被Javascript替换,javascript,html,Javascript,Html,在将字符串输入HTML之前,我试图解码字符串中的一些特定字符。但是,由于某种原因,它不起作用。 例如: 我的输入字符串是“安培13” 在JS中,我用这个函数替换每个特殊字符: htmlEntities: function(str) { return str.replace(/\\/g, "\").replace("'", "'").replace(".", ".").replace("%", "%").replace("\"
htmlEntities: function(str) {
return str.replace(/\\/g, "\").replace("'", "'").replace(".", ".").replace("%", "%").replace("\"",""");
},
但是,当将其转换为HTML时,它仍然看起来像:
“13安培”
我想用替换的特殊字符显示我的数据
我做错了什么?字符串中只有一个反斜杠没有被识别为“\”,而是一个转义序列。其他角色正在被完美地替换。我已经编写了下面的函数,它相应地提醒输出字符串
function test() {
var str = "ampere 13th\'.";
alert(str.replace(/\\/g, "\").replace("'", "'").replace(".", ".").replace("%", "%").replace("\"", """));
}
它提醒我
ampere 13th'.
ampere 13th\'.
除了替换“\”字符外,其他都是正确的。如果要替换“\”,可以进一步搜索如何替换java脚本中的反斜杠字符
如果我有这样的输入字符串
var str = "ampere 13th\\'.";
有两个反斜杠,那么替换就完全发生了,我的功能会提醒我
ampere 13th'.
ampere 13th\'.
可能的重复取决于您如何将其放入HTML中<代码>'是
'
的HTML实体,因此将'代码>转换为HTML将呈现。。。猜猜看'
@deceze那么,我想用什么方法来输入html特殊sybmols lile呢?或者它总是会被转换?同样,这取决于你如何插入文本。如果您使用的是innerHTML
,请改用innerText
!否则,将转义序列转义到&#39;代码>。