SOURCE

function (type = 'Id', val) {
  if (!val) return ''
  if (type === 'phone') { // 手机 11位
    return `${val.slice(0, 3)}*****${val.slice(-3)}`
  }
  let reg = getRegExp('.', 'g') // 正则表达式
  let remainStr = val.replace(reg, '*') // 替换
  let lasterStr = val.slice(-1) // 最后一位
  let remainLen = val.length - lasterStr.length // 先减去最少一位
  if (val.length > 4) {
    let twoStr = val.slice(0, 2) // 开头两位
    if (type === 'email') { // 邮箱 多位
      var symbol = val.split('@')
      remainLen = remainLen - symbol[0].length - 1
      return `${val.slice(0, 2)}${remainStr.slice(0, remainLen)}${symbol[1]}`
    }
    // 身份证 车架号
    remainLen = remainLen - twoStr.length
    return `${twoStr}${remainStr.slice(0, remainLen)}${lasterStr}`
  } else {
    return `${remainStr.slice(0, remainLen)}${lasterStr}`
  }
}
console 命令行工具 X clear

                    
>
console