JSのエスケープ処理

replaseによる置換

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

 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}
16

なにやら難しそうな処理

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

上記の引用です。

 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));
27

JavaScript コードレシピ集

池田 泰延,鹿野 壮
出版社:技術評論社  発売日:2019-01-25

Amazonで詳細を見る