请参考以下代码实现:

/**
 * 将手机号脱敏显示
 * @param {string} phone - 手机号
 * @returns {string} - 脱敏后的手机号,例如:138****1234
 */
function maskPhone(phone) {
  if (!phone) return '';
  return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
}

/**
 * 将证件号脱敏显示
 * @param {string} idNumber - 证件号
 * @returns {string} - 脱敏后的证件号,例如:1101********1234
 */
function maskIdNumber(idNumber) {
  if (!idNumber) return '';
  const len = idNumber.length;
  if (len <= 8) return idNumber;
  const first = idNumber.substring(0, 4);
  const last = idNumber.substring(len - 4, len);
  const mask = '*'.repeat(len - 8);
  return first + mask + last;
}

module.exports = {
  maskPhone,
  maskIdNumber,
};

使用示例:

const { maskPhone, maskIdNumber } = require('./utils');

console.log(maskPhone('13812345678')); // 138****5678
console.log(maskIdNumber('110101198001010012')); // 1101********0012

原文地址: https://www.cveoy.top/t/topic/boSZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录