DesensitizeUtil 脱敏工具类
September 19, 2025 · View on GitHub
DesensitizeUtil 脱敏工具类
DesensitizeUtil 是一个提供数据脱敏功能的工具类,可以对手机号、身份证号、银行卡号等敏感信息进行脱敏处理。
类方法
replace(text, head, tail, symbol)
字符串替换脱敏
参数:
text(string): 原始字符串head(number): 头部保留长度tail(number): 尾部保留长度symbol(string): 中间替换的单个符号
返回值:
- (string): 替换后的字符串
desensitizeIpv4Address(ipv4, symbol)
IPv4 地址脱敏
参数:
ipv4(string): IPv4 地址symbol(string, 可选): 脱敏符号,默认为 '*'
返回值:
- (string): 脱敏后的 IPv4 地址
desensitize(source, type, head, tail, symbol)
文本脱敏
参数:
source(string): 原始文本type(DesensitizeType): 脱敏类型head(number, 可选): 头部保留位数,默认使用 type.headtail(number, 可选): 尾部保留位数,默认使用 type.tailsymbol(string, 可选): 脱敏符号,默认为 '*'
返回值:
- (string): 脱敏后的文本
使用示例
import {DesensitizeUtil, DesensitizeType} from '@airpower/util'
// 使用预定义脱敏类型
const mobile = DesensitizeType.MOBILE.desensitize('13812345678')
// 结果: 138****5678
const idCard = DesensitizeType.ID_CARD.desensitize('110101199001011234')
// 结果: 110101********1234
// 使用工具类方法直接脱敏
const bankCard = DesensitizeUtil.desensitize('6222021234567890', DesensitizeType.BANK_CARD)
// 结果: 6222********7890
// 自定义脱敏
const custom = DesensitizeUtil.desensitize('customString', DesensitizeType.CUSTOM, 2, 3, '#')
// 结果: cu##########ing