使用引用属性,我已经知道了解决方案。
function encodeForHTML(str){
return str
.replace(/&/g, '&')
.replace(/"/g, '"')
.replace(/'/g, ''')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/\//g, '/');
}
如果没有引用一个?必须在这6个字符旁边转义哪些字符?我怎样才能在JS中实现它?
答案 0 :(得分:1)
根据the W3 HTML spec,不带引号的属性值中不允许的字符是“”“,”“”,“=”,“&gt;”,“&lt;”或“`”以及文字空间字符。(哦,属性值也不能是空字符串。)
我认为你已经拥有的唯一补充是等号,反引号和空格。请注意,您也可以从列表中删除正斜杠(“/”);它不需要编码。