JavaScript 字段脱敏处理

  /**
   * 字段脱敏处理
   * @param {String} field 未脱敏字段
   * @param {Int} before 开头未脱敏字符数
   * @param {Int} after 结尾未脱敏字符数
   * @return {String} 已脱敏字段
   */
  function sensitiveField(field, before = 3, after = 4) {
    if (!field) {
      return '';
    }
    field = String(field);

    // 匹配中文、英文、数字
    const regItem = '[\u4e00-\u9fa5a-zA-Z0-9]';
    const regExp = `(${regItem}{${before}})${regItem}*(${regItem}{${after}})`;
    const reg = new RegExp(regExp);
  
    return field.replace(reg, '$1*****$2');
  }