import { isString, isNumber } from 'lodash';
export function desensitization(string, mixLength = 3) {
// mixLength 字符串少于一定值则脱敏全部,增加脱敏位数
if (isString(string) || isNumber(string)) {
const str = String(string);
if (str.length <= mixLength) {
return '*'.repeat(mixLength);
}
const len = str.length;
const firstStr = str.substr(0, str.length / mixLength);
const lastStr = str.substr(-str.length / mixLength);
const middleStr = str
.substring(str.length / mixLength, len - Math.abs(-str.length / mixLength))
.replace(/[\s\S]/gi, '*');
return firstStr + middleStr + lastStr;
}
return '';
}
JS 脱敏方法
最新推荐文章于 2025-11-08 11:20:22 发布
本文介绍了一种用于保护个人信息的字符串脱敏方法。该方法能够根据不同长度的字符串进行部分或全部字符替换,有效防止敏感信息泄露。对于较短的字符串,会进行完全脱敏处理;而对于较长的字符串,则保留首尾部分原始字符,中间部分用星号(*)代替。

1784

被折叠的 条评论
为什么被折叠?



