str为需要脱敏的数据,mark为脱敏显示的字符,将字符串中间60%的字符替换
function desensitization(str, mark) {
if (!str || str.length == 0) {
return '';
}
mark = mark || '*';
var dl = Math.floor(str.length * 0.6);
var dlstr = "";
for (var i = 0; i < dl; i++) {
dlstr += mark;
}
var front = Math.floor((str.length - dl) / 2);
if (front === 0) {
front = 1;
}
return str.substr(0, front) + dlstr + str.substr(front + dl, str.length - 1)
}