JS实现:手机号脱敏、邮箱脱敏、身份证号脱敏、姓名脱敏等常见脱敏
在JavaScript中实现常见的脱敏功能,可以通过自定义函数来进行。以下是实现手机号、邮箱、身份证号和姓名的简单脱敏方法:
// 手机号脱敏
function maskPhone(phone) {
return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
}
// 邮箱脱敏
function maskEmail(email) {
return email.replace(/\w(?=\w{1,14}@)[^\.]+/g, function(match) {
return match.replace(/./g, '*');
});
}
// 身份证号脱敏
function maskId(id) {
return id.replace(/^(\d{6})\d{8}(\d{4})$/, '$1******$2');
}
// 姓名脱敏
function maskName(name) {
if (name.length === 2) {
return name.charAt(0) + '*';
} else if (name.length > 2) {
return name.charAt(0) + '*' + name.charAt(name.length - 1);
} else {
return name;
}
}
// 示例
console.log(maskPhone('13812345678')); // 输出: 138****5678
console.log(maskEmail('user@example.com')); // 输出: ****@example.com
console.log(maskId('123456789012345678')); // 输出: 123456******5678
console.log(maskName('张三')); // 输出: 张*
console.log(maskName('L')); // 输出: L
这些函数分别实现了手机号、邮箱、身份证号和姓名的简单脱敏处理。具体的脱敏规则可以根据实际需求进行调整。例如,邮箱脱敏可以只替换中间部分,或者根据邮件服务商的不同进行特定的处理。
评论已关闭