yama-dev
6/14/2017 - 5:23 AM

jsでのサニタイズ関数

jsでのサニタイズ関数

/**
* @namespace
*/
var sanitize = sanitaize || {};
 
/**
* HTML, JavaScipt で特別な意味を持つ文字列を無害な文字列へ変換します。
* @public
* @param  {string}  str 変換元の文字列
* @return {string}  無害化された文字列
*/
sanitaize.encode = function (str) {
    return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#39;');
};
 
/**
* エスケープされた文字から元の文字列を復元します。
* @public
* @param  {string}  str 無害化された文字列
* @return {string}  無害化前の元文字列
*/
sanitaize.decode = function (str) {
    return str.replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&quot;/g, '"').replace(/&#39;/g, '\'').replace(/&amp;/g, '&');
};

// ----------------------------------------------- //

sanitaize = {
  encode : function (str) {
    return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#39;');
  },

  decode : function (str) {
    return str.replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&quot;/g, '"').replace(/&#39;/g, '\'').replace(/&amp;/g, '&');
  }
};