JS之脱敏系列(超详细)

简介: JS之脱敏系列(超详细)

名字


function formatName(name) {
   var newStr;
   if (name.length === 2) {
       newStr = name.substr(0, 1) + '*';
   } else if (name.length > 2) {
       var char = '';
       for (var i = 0, len = name.length - 2; i < len; i++) {
           char += '*';
       }
       newStr = name.substr(0, 1) + char + name.substr(-1, 1);
   } else {
       newStr = name;
   }
   return newStr;
}
console.log(formatName('张某'));        // 张*
console.log(formatName('张某人'));     // 张*人
console.log(formatName('张某某某人'));    // 张***人


手机号


//通过字符串截取中间四位数字,转化为****
function formatPhone(val) {
  let returnVal = val
  if (val) {
    returnVal = val.substr(0, 3) + "****" + val.substr(7)
  }
  return returnVal
}
console.log(formatPhone("15666666666");   // 156****6666)


自定义


function customStar(str,beginLen,endLen) {
    var len = str.length;
    var firstStr = str.substr(0,beginLen);
    var lastStr = str.substr(endLen);
    var middleStr = str.substring(beginLen, len-Math.abs(endLen)).replace(/[\s\S]/ig, '*');
    tempStr = firstStr + middleStr + lastStr;
    return tempStr;
}
console.log(customStar('18353246789097654',4,-4)) // "1835*********765"
目录
相关文章
|
6月前
|
JavaScript 前端开发
js 数据添加方法
js 数据添加方法
37 1
|
24天前
|
JavaScript 容器
js的一些注意事项
js的一些注意事项
|
6月前
|
JavaScript
js常用表单验证规则
js常用表单验证规则
60 0
|
6月前
|
JavaScript
js导出
js导出
36 0
|
10月前
|
JavaScript
js实现导出
js实现导出
30 0
|
JavaScript 数据安全/隐私保护
JS:crypto-js模块实现数据加密解密
JS:crypto-js模块实现数据加密解密
102 0
|
JavaScript
JS表格小案例
JS表格小案例
56 0
|
存储 JavaScript
js中的数据
本文主要介绍js中的数据
91 0
|
JavaScript 前端开发 Android开发
skrollr.js英文原版文档
Please note: skrollr hasn't been under active development since about September 2014 (check out the contributions graphs on https://github.
1288 0
|
JavaScript 前端开发 Java