문자열 중간 글자만 *표시 만들기[JS]

BANGJH·2019년 12월 6일
0

JS ONE PIECE

목록 보기
6/11
post-thumbnail

웹 개발을 하다보면 특정 문자열을 *로 처리해야할 때가 있다.

// 문자열 검색해서 중간 글자 *로 만들기
// 2글자면 마지막 글자만
var maskingName = function(strName) {
  if (strName.length > 2) {
    var originName = strName.split('');
    originName.forEach(function(name, i) {
      if (i === 0 || i === originName.length - 1) return;
      originName[i] = '*';
    });
    var joinName = originName.join();
    return joinName.replace(/,/g, '');
  } else {
    var pattern = /.$/; // 정규식
    return strName.replace(pattern, '*');
  }
};

처음과 마지막 글자만 보여주고 중간 글자들은 다 *로 만드는 함수이다.

우선 문자열이 2글자인지 아니면 그보다 더 많은지 검색한다.
문자가 2글자 이하면 사이 글자가 없으므로 마지막 글자만 *로 만든다.

입력 받은 문자열을 배열로 만든 다음
처음과 마지막 글자 말고 나머지 값을 *로 바꾼다. 그 다음 배열을 다시 문자열로 합친다.

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

0개의 댓글