Edited at

JavaScriptでHTMLエスケープ処理

More than 3 years have passed since last update.

JavaScriptでHTMLエスケープする必要があったのでメモ。

一般的なWebアプリの場合、基本的にはサーバサイドでのHTMLエスケープが出来てれば問題無いケースが多い。

ただ、例えばDOMからテキストを取得して再度DOMに突っ込む、みたいな処理をクライアントサイドでやろうとした場合は、JavaScriptで改めてHTMLエスケープする必要がある。

ので、JavaScriptで最低限のHTMLエスケープするメソッド作った。

function escape_html (string) {

if(typeof string !== 'string') {
return string;
}
return string.replace(/[&'`"<>]/g, function(match) {
return {
'&': '&amp;',
"'": '&#x27;',
'`': '&#x60;',
'"': '&quot;',
'<': '&lt;',
'>': '&gt;',
}[match]
});
}

おしまい。