2015-11-19 37 views
0

引用屬性,我已經知道解決方案。轉義引用屬性

function encodeForHTML(str){ 
    return str 
     .replace(/&/g, '&') 
     .replace(/"/g, '"') 
     .replace(/'/g, ''') 
     .replace(/</g, '&lt;') 
     .replace(/>/g, '&gt;') 
     .replace(/\//g, '&#x2F;'); 
} 

不加引號的一個怎麼樣?哪些角色必須在這6個角色旁邊逃脫?我怎樣才能在JS中實現它?

+0

如果'attribute = value1 value2'會出現什麼情況,這將是無效的,因此,您應該嘗試使用quote:'attribute =」value1 value2「' –

+0

[ '/[-_\u00A0-\u10FFFF]/'](https://mothereff.in/unquoted-attributes) –

+0

只需引用他們? – Bergi

回答

1

根據the W3 HTML spec,未加引號的屬性值中不允許使用的字符爲「」,「>」,「=」,「>」,「<」或「`」以及文字空格字符(哦,並且屬性值也不能是空字符串)

我認爲你已經擁有的唯一補充是等號,反引號和空格。注意,你也可以消除正斜槓(「 /「);它不需要編碼