웹 개발을 하다보면 특정 문자열을 *로 처리해야할 때가 있다.
// 문자열 검색해서 중간 글자 *로 만들기
// 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글자 이하면 사이 글자가 없으므로 마지막 글자만 *로 만든다.
입력 받은 문자열을 배열로 만든 다음
처음과 마지막 글자 말고 나머지 값을 *로 바꾼다. 그 다음 배열을 다시 문자열로 합친다.