js手机号和名字脱敏

5,592 阅读1分钟

手机号脱敏处理:180****3976

/**
     * 手机号码脱敏
     * @param number
     */
    phoneNuberConvert(number) {
      if (!number) return "";
      let pat = /(\d{3})\d*(\d{4})/;
      let result = number.replace(pat, "$1***$2");
      return result;
    }

姓名脱敏处理,规则:3个字以内脱敏第一个字,4—6个字脱敏前两个字,大于6个字脱敏第3—6个字,示例:张三(*三)、张三水(*三水)、长孙无忌(**无忌)、罗斯托罗司机格(罗斯XXXX格)

/**
 * 名字脱敏
 */
nameConvert(name) {
  let userName = "";
  if (name.length == 2) {
    userName = name.substring(0, 1) + "*"; //截取name 字符串截取第一个字符,
  } else if (name.length == 3) {
    userName = name.substring(0, 1) + "*" + name.substring(2, 3); //截取第一个和第三个字符
  } else if (name.length > 3) {
    userName =
      name.substring(0, 1) + "*" + "*" + name.substring(3, name.length); //截取第一个和大于第4个字符
  }
  return userName;
},
noPassByName(str){
if(null != str && str != undefined){
    if(str.length <= 3){
        return "*" + str.substring(1,str.length);
    } else if(str.length > 3 && str.length <= 6){
        return "**" + str.substring(2,str.length);
    } else if(str.length > 6){
        return str.substring(0,2) + "****" + str.substring(6,str.length)
    }
} else {
    return "";
}
}