JavaScript保护手机号隐私(中间4位用 * 号替换)

需求:将手机号码中间4位用 * 号替换,保护隐私。

使用正则

const encryptPhoneNumber = (str) => {
  if (str) {
    str = str.trim();
    const reg = /(\d{3})\d{4}(\d{3})/;
    str = str.replace(reg, "$1****$2");
  }
  return str;
};

encryptPhoneNumber("18614023235"); //output: 186****3235

使用substring

const encryptPhoneNumber = (str) => {
  if (str) {
    str = str.trim();
    str = str.substring(0,3) + '*'.repeat(4) + str.substring(str.length - 4);
  }
  return str;
};

encryptPhoneNumber('18614023235'); //output: 186****3235

加密身份证号

const encryptIDNumber = (str) => {
  if (str) {
    str = str.trim();
    str = `${str.substring(0, 4)}${"*".repeat(10)}${str.substring(
      str.length - 4
    )}`;
  }
  return idno;
};

encryptIDNumber("110101199003071137"); //output: 1101**********1137