JSFiddle - React, Tailwind, and code Playground
by jarosciak
JavaScript
/**
* Mask email address with asterisks to comply GDPR
* [email protected] => j******e@e****e.com
* @param {string} emailAddress email address
* @returns {string} masked email address
*/
function maskEmailAddress (emailAddress) {
function mask(str) {
var strLen = str.length;
if (strLen > 4) {
return str.substr(0, 1) + str.substr(1, strLen - 1).replace(/\w/g, '*') + str.substr(-1,1);
}
return str.replace(/\w/g, '*');
}
return emailAddress.replace(/([\w.]+)@([\w-.]+)(\.[\w.]+)/g, function (m, p1, p2, p3) {
return mask(p1) + '@' + mask(p2) + p3;
});
return emailAddress;
}
console.log(maskEmailAddress('random string [email protected] test [email protected] sss [email protected] sss'));