如何使用JavaScript隐藏字符串部分内容(以邮箱脱敏为例)
如何用JavaScript隐藏邮箱地址的前缀部分?
刚好我之前做过类似的隐私处理需求,给你一个简单直接的实现方案,完全符合你要的效果——保留@后面的完整域名,前缀只显示前两个字符,剩下的用****替换:
function maskEmail(email) { // 把邮箱按@拆分成前缀和域名两部分 const [localPart, domainPart] = email.split('@'); // 提取前缀的前2个字符,拼接上**** const maskedLocal = localPart.slice(0, 2) + '****'; // 组合成最终的隐藏版邮箱 return `${maskedLocal}@${domainPart}`; } // 测试示例 const original = 'hideparts@email.com'; const masked = maskEmail(original); console.log(masked); // 输出: hi****@email.com
代码逻辑解释:
split('@'):把邮箱字符串分割成包含前缀(hideparts)和域名(email.com)的数组,通过解构赋值分别存入localPart和domainPart。slice(0, 2):截取前缀的前两个字符,这里就是hi。- 最后用模板字符串把处理后的前缀、
@和原域名拼接起来,得到目标格式。
如果遇到前缀长度不足2的情况(比如邮箱是a@email.com),这个函数也能正常工作,会变成a****@email.com;要是你想调整保留的前缀字符数,只需要把slice(0, 2)里的2改成你需要的数字就行,比如改成1就只保留第一个字符。
内容的提问来源于stack exchange,提问作者CodeG
相关产品推荐
相关产品推荐

