Skip to content

Latest commit

 

History

History
48 lines (38 loc) · 1.14 KB

hideEmail.md

File metadata and controls

48 lines (38 loc) · 1.14 KB

hideEmail

Função que oculta parte do email fornecido.

Fique atento aos seguintes casos:

  • Se o email for muito curto como por exemplo [email protected], o email retornado será: ***@example.com.
  • Se o email não for válido, o dado original passado será retornado

Uso

import { hideEmail } from "toolkit-extra/string";
     
hideEmail("[email protected]"); // te***@example.com
hideEmail("[email protected]"); // ***@example.com
hideEmail("@teste.com"); // @teste.com

Referência

/**
 * Oculta parte do email fornecido.
 * @param {string} email - O email do usuário.
 * @returns {string} O email com parte ocultada.
 */
export function hideEmail(email: string): string {
    let avg: number;
    let splitted: string[];
    let part1 = "";
    let part2 = "";

    const validation = z.string().email().safeParse(email);

    if (validation.success) {
        splitted = email.split("@");
        part1 = splitted[0] || "";
        avg = part1.length / 2;
        part1 = part1.substring(0, part1.length - avg);
        part2 = splitted[1] || "";

        return part1 + "***@" + part2;
    } else {
        return email;
    }
}