Masking Personal Information LeetCode solution in JavaScript

1
var maskPII = function (S) {
2
if (isEmail(S)) return maskEmail(S);
3
return maskPhone(S);
4

5
function isEmail(str) {
6
return /^[A-Za-z]{2,}@[A-Za-z]{2,}.[A-Za-z]{2,}$/.test(str);
7
}
8

9
function maskEmail(str) {
10
let res = "";
11
const [local, domain] = str.split("@");
12

13
res +=
14
local.charAt(0).toLowerCase() +
15
"*****" +
16
local.charAt(local.length - 1).toLowerCase();
17
return res + "@" + domain.toLowerCase();
18
}
19

20
function maskPhone(str) {
21
const onlyDigits = str.replace(/\D/g, "");
22

23
const localNum = "***-***-" + onlyDigits.substring(onlyDigits.length - 4);
24

25
if (onlyDigits.length === 10) return localNum;
26

27
let countryNum = "+" + "*".repeat(onlyDigits.length - 10) + "-";
28

29
return countryNum + localNum;
30
}
31
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0