身份信息脱敏处理 - yuzhouxiaogegit/blog GitHub Wiki

身份信息脱敏处理


/**
 * 关键信息隐藏
 * @param str 字符串
 * @param frontLen 字符串前面保留位数
 * @param endLen 字符串后面保留位数
 * @returns {string}
 */

function hideCode(str, frontLen, endLen) {
   str = JSON.stringify(str || '').replace(/[\'\"]/g, "");
   let len = str.length - Number(frontLen || 0) - Number(endLen || 0);
   let xing = '';
   for (let i = 0; i < len; i++) {
      xing += '*';
   }
   if (str.length >= (frontLen + endLen)) {
      return str.substring(0, frontLen) + xing + str.substring(str.length - endLen);
   }
   return str;
}

console.log(hideCode(13015899696, 3, 4)) // 130****9696
console.log(hideCode(13015899696, -1, -1)) // 13015899696