HTML文字列をエスケープ

HTML文字列をエスケープするには次の方法で可能です。

関数定義

var escapeHtml = function(convertString) {
	if (typeof convertString !== 'string') return convertString;

	var patterns = {
		'<'  : '&lt;',
		'>'  : '&gt;',
		'&'  : '&amp;',
		'"'  : '&quot;',
		'\'' : '&#x27;',
		'`'  : '&#x60;'
	};

	return convertString.replace(/[<>&"'`]/g, function(match) {
		return patterns[match];
	});
};

使い方

var result = escapeHtml( convertString );

引数

引数名 説明
第一引数
必須
convertString string 変換したいHTML文字列

戻り値

エスケープされた文字列を返します。

サンプルコード

var htmlStr = '<div id="sample"><p class="text">foo<br><a href="https://example.co.jp/?k1=v1&k2=v2" target="_blank">bar</a></p></div>';

var result = escapeHtml(htmlStr);

alert(result);

JavaScript逆引きリファレンス一覧へ戻る