feat: mask email util
This commit is contained in:
22
web/src/util/maskEmail.ts
Normal file
22
web/src/util/maskEmail.ts
Normal file
@ -0,0 +1,22 @@
|
||||
export default function maskEmail(email: string): string {
|
||||
// Validate email (very basic)
|
||||
if (!email.includes("@")) return email;
|
||||
|
||||
const [user, domain] = email.split("@");
|
||||
const [domainName, ...tldParts] = domain.split(".");
|
||||
|
||||
// Mask user part
|
||||
const maskedUser =
|
||||
user.length > 2 ? `${user[0]}***${user[user.length - 1]}` : `${user[0]}***`;
|
||||
|
||||
// Mask domain part (except TLD)
|
||||
const maskedDomain =
|
||||
domainName.length > 2
|
||||
? `${domainName[0]}***${domainName[domainName.length - 1]}`
|
||||
: `${domainName[0]}***`;
|
||||
|
||||
// Join TLD
|
||||
const tld = tldParts.length ? "." + tldParts.join(".") : "";
|
||||
|
||||
return `${maskedUser}@${maskedDomain}${tld}`;
|
||||
}
|
Reference in New Issue
Block a user