简介
在网站的前端开发中,有时需要显示用户的邮箱,然而如果直接显示真实的邮箱地址,很容易被邮件地址收集的机器人爬取,并被泛滥的垃圾邮件所困扰。为了解决这个问题,npm 社区开发了一个叫做 maskemail
的 npm 包,可以将邮箱地址模糊化。
安装
使用 npm 命令行工具安装 maskemail
。
npm install maskemail --save
使用方法
引入 maskemail
包,然后调用 maskEmail
方法,将需要进行模糊化的邮箱地址作为参数传入。maskEmail
方法会返回一个被模糊化的邮箱地址。
import maskEmail from 'maskemail'; const email = 'example@test.com'; const maskedEmail = maskEmail(email); console.log(maskedEmail); // 输出:ex*******@****.com
API
maskEmail(email: string, maskCharacter?: string, visibleLength?: number, domainSectionsVisible?: number): string
- email:
<string>
必选参数。要进行模糊化的邮箱地址。 - maskCharacter:
<string>
可选参数。表示使用什么字符来代替邮箱中的字符。默认为*
。 - visibleLength:
<number>
可选参数。表示邮箱的首尾几个字母需要保留,中间用maskCharacter
补全。默认值为2
。 - domainSectionsVisible:
<number>
可选参数。表示邮箱域名的前几段需要保留,后几段用maskCharacter
代替。默认值为1
。
示例
可视化 2 个字符,域名保留 1 个子域名
const email = 'example@test.com'; const maskedEmail = maskEmail(email, '*', 2, 1); console.log(maskedEmail); // 输出:ex****@test.com
可视化 3 个字符,域名保留 2 个子域名
const email = 'example@test.com'; const maskedEmail = maskEmail(email, '*', 3, 2); console.log(maskedEmail); // 输出:exa********@test.com
指导意义
在真实的项目开发中,我们经常需要通过前端展示用户的邮箱,以便用户能够方便地联系我们。但是由于篇幅、格式等限制,通过前端进行邮件地址的加密可以使邮箱地址更加安全。使用 maskemail
可以方便地实现这个功能。在集成此 npm 包时,我们可以根据我们的需求进行参数配置,以实现符合我们项目需要的模糊化效果。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056bdd81e8991b448e588d