[JS알고리즘] 전화번호 마스킹 (010****4567)


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




© 2018. by sora

Powered by sora