mobile-mask.js 835 Bytes
/**
 * 手机号脱敏工具(受系统配置 privacyMobileMask 控制)
 * 默认明文;开关开启时中间四位打码,如 181****7871。
 */

export function maskMobileValue(mobile) {
  if (mobile == null || mobile === '') return ''
  const m = String(mobile).trim()
  if (!m) return ''
  if (m.indexOf('*') !== -1) return m
  if (m.length < 7) return '****'
  return `${m.slice(0, 3)}****${m.slice(-4)}`
}

export function formatMobileDisplay(mobile, enabled) {
  const raw = mobile == null ? '' : String(mobile).trim()
  if (!raw) return ''
  return Number(enabled) === 1 ? maskMobileValue(raw) : raw
}

export function displayMobile(mobile, enabled, emptyText = '') {
  const v = formatMobileDisplay(mobile, enabled)
  return v || emptyText
}

export default {
  maskMobileValue,
  formatMobileDisplay,
  displayMobile
}