如何在JavaScript中转义'
(单引号)?
这是我正在尝试使用它的地方:
<input type='text' id='abc' value='hel'lo'>
上面代码的结果是在文本框中填充了“hel”。我试图用'和'代替,但这就是我得到的。
<input type='text' id='abc' value='hel\'lo'>
上面代码的结果是在文本框中填充了“hel \”。
如何成功逃避单引号?
答案 0 :(得分:323)
答案 1 :(得分:55)
您可以使用'
(IE中为iffy)或'
(应该可以在任何地方使用)。有关完整列表,请参阅W3C HTML5 Named Character References或HTML entities table on WebPlatform.org。
答案 2 :(得分:9)
当您处于HTML环境中时,您需要使用HTML来表示该字符。对于HTML,您需要使用numeric character reference '
('
十六进制):
<input type='text' id='abc' value='hel'lo'>
答案 3 :(得分:7)
将其表示为文本实体(ASCII 39):
<input type='text' id='abc' value='hel'lo'>
答案 4 :(得分:5)
可能是最简单的方法:
<input type='text' id='abc' value="hel'lo">
答案 5 :(得分:0)
如果由于某种原因您无法转义撇号字符并且您无法将其更改为 HTML 实体(在我的情况下为特定的 Vue.js 属性),您可以使用 replace 将其更改为不同的UTF-8 字符集中的撇号字符,例如:
toString
答案 6 :(得分:-1)
您可以尝试使用:‘
答案 7 :(得分:-1)
使用javascript inbuild函数转义和转义
例如
var escapedData = escape("hel'lo");
output = "%27hel%27lo%27" which can be used in the attribute.
again to read the value from the attr
var unescapedData = unescape("%27hel%27lo%27")
output = "'hel'lo'"
如果您要在属性中使用大量json字符串化数据,这将很有帮助