풀이
function solution(new_id) {
const answer = new_id
.toLowerCase()
.replace(/[^\w-_.]/g, '')
.replace(/\.{2,}/g, '.')
.replace(/^\.|\.$/g, '')
.replace(/^$/, 'a')
.slice(0, 15).replace(/\.$/, '');
const len = answer.length;
return len > 2 ? answer : answer + answer.charAt(len - 1).repeat(3 - len);
}
정규표현식
/ 정규식 / : //안에 정규식 작성
[문자셋] : .나*과 같은 특수문자를 취급하지않고 문자만 취급
\w : [A-Za-z0-9]와 동일
[^문자셋] : 부정문자셋으로 뒤에 나오는 문자셋을 제외한 문자가 대응
/ 정규식 /g : 전역검색
| : 또는(or)
.{2,} : .이 최소 2개 이상
^ : 문장의 시작을 의미
$ : 문장의 끝을 의미
^$ : 시작부터 끝까지 없으므로 빈 문자열을 나타냄