[JS알고리즘] 전화번호 마스킹 (010****4567)
in Algorithm
Q) 핸드폰 번호 중간 4자리를 마스킹하세요
function phoneNumCutter(arr) {
// 여기에 코드를 작성하세요
let result = arr.map(item => {
return item.replace(/(\d{3})(\d{4})(\d{4})/gi, '$1****$3');
});
return result;
}
정규표현식을 이용한 문제이다.
replace함수를 이용해서 정규표현식에 해당하는 부분을 *로 대신하는 방법이다.
정규표현식은… 맨날봐도 안보다보면 맨날 까먹는다..;;;;
그래서 이런건 모아두는게 좋은것 같음. 나중에 언제 어떤 형식의 정규표현식을 쓸지 모르니..
//010-123-4567
str.replace(/-[0-9]{3}-/g, "-***-");
// 010-1234-5678
str.replace(/-[0-9]{4}-/g, "-****-");
//0111234567
replace(/(\d{3})(\d{3})(\d{4})/gi,'$1***$3'));
//01012345678
replace(/(\d{3})(\d{4})(\d{4})/gi, '$1****$3')
//920211-2345678 주민등록번호
replace(/(-?)([1-4]{1})([0-9]{6})\b/gi,"$1$2******")
출처 : https://goddaehee.tistory.com/236