1. 程式人生 > >js特殊字元轉義

js特殊字元轉義

/**
 * 特殊字元轉義 防止XSS攻擊 用於特殊字元正常顯示
 * @param text
 * @constructor
 */
function StringFilter(str) {
  var s = "";
  if (str.length === 0) {
    return "";
  }
  s = str.replace(/&/g, "&");
  s = s.replace(/</g, "&lt;");
  s = s.replace(/>/g, "&gt;");
  s = s.replace(/ /g, "&nbsp;");
  s = s.replace(/\'/g, "&#39;");
  s = s.replace(/\"/g, "&quot;");
  return s;
}

/**
 *  轉義字元還原成html字元
 * @param str
 * @returns {string}
 * @constructor
 */
function StringValFilter(str) {
  var s = "";
  if (str.length === 0) {
    return "";
  }
  s = str.replace(/&amp;/g, "&");
  s = s.replace(/&lt;/g, "<");
  s = s.replace(/&gt;/g, ">");
  s = s.replace(/&nbsp;/g, " ");
  s = s.replace(/&#39;/g, "\'");
  s = s.replace(/&quot;/g, "\"");
  return s;
}