신규 아이디 추천 (replace, 3항, while)
function solution(new_id) {
let string = '';
//소문자변환
string = new_id.toLowerCase()
//알파벳 소문자, 빼기, 밑줄, 마침표 제외하고 제거
.replace(/[^a-z0-9\.\-\_]/gi,'')
//마침표가 2번 이상 연속된 경우 하나의 마침표로 치환
.replace(/\.+/g,'.')
//마침표가 처음이나 끝에 위치한다면 제거
.replace(/^\.+|\.+$/g,'');
//빈 문자열이라면 'a'를 대입하고 아니라면 15자까지만 자르기
string = string? string.substr(0, 15) : 'a';
//끝에 위치한 마침표 제거
string = string.replace(/\.+$/g,'');
//글자수가 2이하인 경우 마지막 문자만 전체 글자수가 3이상이 될때까지 반복해서 끝에 붙이기
while(string.length <= 2) {
string = string + string.substr(string.length-1);
}
return string;
}
- 정규식 + 체이닝 다른사람 풀이
function solution(new_id) {
const answer = new_id
.toLowerCase() // 1
.replace(/[^\w-_.]/g, '') // 2
.replace(/\.+/g, '.') // 3
.replace(/^\.|\.$/g, '') // 4
.replace(/^$/, 'a') // 5
.slice(0, 15).replace(/\.$/, ''); // 6
const len = answer.length;
return len > 2 ? answer : answer + answer.charAt(len - 1).repeat(3 - len);
}
Author And Source
이 문제에 관하여(신규 아이디 추천 (replace, 3항, while)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@eunsoo8899/신규-아이디-추천-replace-3항-while저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)