[JS] 문자열 마지막 글자들 * 처리

BANGJH·2020년 9월 9일
0

JS ONE PIECE

목록 보기
1/11
post-thumbnail

웹 개발을 하다보면 문자열의 마지막 몇글자만 *처리할 때가 있을 것이다.

예를들어 0101234**** 이런식으로 말이다.

어떻게 처리를 할까?

반복문을 역시 써야하는걸까? 아니면 다른 방법이 있는걸까?

필자도 뭐가 더 나은 방법인지 고민 했지만 정규식으로 처리할 수 있을 것 같아서 찾아보았다.

 // \d [0-9]와 동일하다.
 // x(?=y)
 // y가 뒤따라오는 x에만 대응됩니다. lookahead라고 불립니다.
 // \d(?=\d{4})를 번역하면 [0-9] 뒤에 또 숫자가 4자리가 더 있을 시.
 // /g 맨 뒤의 g는 전역 검색을 뜻한다.
 function maskingNumbers(number) {
   return number.replace(/\d(?=\d{4})/g, "*");
 }

위의 코드는 뒤의 숫자 4자리를 제외한 문자를 *처리하는 코드이다.
정규식을 사용하니 엄청 간단하지 않은가?
비록 위의 정규식은 숫자 문자에만 해당되는 것이지만 찾아보면 훨씬 많은 경우에 대응할 수 있을 것이다.

mdn 정규식 사이트

profile
안녕하세요 신입 웹개발자입니다.

0개의 댓글