JSのエスケープ処理

replaseによる置換

 1function escape_html (string) {
 2  if(typeof string !== 'string') {
 3    return string;
 4  }
 5  return string.replace(/[&'`"<>]/g, function(match) {
 6    return {
 7      '&': '&amp;',
 8      "'": '&#x27;',
 9      '`': '&#x60;',
10      '"': '&quot;',
11      '<': '&lt;',
12      '>': '&gt;',
13    }[match]
14  });
15}

参考

Qiita
JavaScriptでHTMLエスケープ処理
http://qiita.com/saekis/items/c2b41cd8940923863791

なにやら難しそうな処理

 1var escapeHtml = (function (String) {
 2    var escapeMap = {
 3        '&': '&amp;',
 4        "'": '&#x27;',
 5        '`': '&#x60;',
 6        '"': '&quot;',
 7        '<': '&lt;',
 8        '>': '&gt;'
 9    };
10    var escapeReg = '[';
11    var reg;
12    for (var p in escapeMap) {
13        if (escapeMap.hasOwnProperty(p)) {
14            escapeReg += p;
15        }
16    }
17    escapeReg += ']';
18    reg = new RegExp(escapeReg, 'g');
19
20    return function escapeHtml (str) {
21        str = (str === null || str === undefined) ? '' : '' + str;
22        return str.replace(reg, function (match) {
23            return escapeMap[match];
24        });
25    };
26}(String));

参考

Qiita
jQuery(JavaScript)でHTMLエスケープするときの注意点と対処法 | iwb.jp
https://iwb.jp/jquery-javascript-html-escape/