1.较大分组的位置
var largeGroupPositions = function(S) {
let l = 0;
const arr = [];
for(let index = 1; index < S.length; index++) {
if(S[index] !== S[l]) {
if(index - l >= 3) {
arr.push([l, index-1]);
}
l = index;
} else if(index === S.length - 1) {
if(index - l >= 2) {
arr.push([l, index]);
}
}
}
return arr;
};
2.隐藏个人信息
var maskPII = function(S) {
if(S.indexOf('@') >= 0) {
const arr = S.toLowerCase().split('@');
return `${arr[0][0]}*****${arr[0][arr[0].length - 1]}@${arr[1]}`
} else {
const num = S.replace(/[\+\-\(\)\ ]/g, '');
console.log(num.length)
if(num.length === 10) {
return `***-***-${num.substr(-4)}`
} else if(num.length > 10) {
const res = num.substr(0, num.length - 4).replace(/(?<!\..*)(?<=\d)(?=(\d{3})+(\.|$))/g, '-');
return `+${res.replace(/[^-]/g, '*')}-${num.substr(-4)}`
}
}
return "";
};