자세한 문제 설명은 아래 링크를 참조하세요
링크
전체 코드
function solution(new_id) {
var answer = new_id;
answer = answer.toLowerCase(); // 1
answer = answer.replace(/[^a-z0-9._-]/g, ""); // 2;
answer = answer.replace(/\.{2,}/g, "."); //3
answer = answer.replace(/^\.|\.$/g, ""); // 4
if (answer === "") {
answer += "a";
} // 5
if (answer.length >= 16) {
answer = answer.slice(0, 15).replace(/\.$/g, "");
} // 6
if (answer.length <= 2) {
const last = answer.substr(-1);
while (answer.length <= 2) {
answer += last;
}
} // 7
return answer;
}
console.log(solution("...!@BaT#*..y.abcdefghijklm"));
이 문제를 보자마자 정규 표현식으로 풀어야겠다는 생각이 들었다
하지만 정규 표현식에 대한 공부가 부족한 상태였기 때문에 구글링을 하면서 풀었다 다음에 한 번 더 풀어봐야겠다
정규 표현식 연습해 볼 수 있는 사이트
링크