[프로그래머스] Lv.1_신규아이디 추천

h220101·2022년 11월 23일
0
post-custom-banner
function solution(new_id) {

    //1단계 new_id의 모든 대문자를 소문자로 치환
    new_id = new_id.toLowerCase();
    
    //2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 
    //마침표(.)를 제외한 모든 문자를 제거 (대괄호 앞^은 부정)
    new_id = new_id.replace(/[^\w\d/-/.]/g,"");
    
    //3단계 new_id에서 마침표(.) 2번이상이면 하나의 마침표로 치환
    //정규식표현 : /\.+/g (.이 1회이상 반복되는 문자열)
    new_id = new_id.replace(/\.+/g, ".");
   
    //4단계 new_id에서 마침표(.)가 처음이나 끝에 위치한다면 제거
    new_id = new_id.replace("[.]","*");
    
    //5단계 new_id가 빈 문자열이면 "a" 대입하기
   if (new_id.length === 0) new_id = "a";
    
    //6단계 new_id의 길이가 16자 이상이면 new_id의 첫 15개의 문자를 제외한 나머지 문자들을 모두 제거합니다. 
    //만약 제거 후 마침표(.)가 new_id의 끝에 위치한다면 끝에 위치한 
    //마침표(.) 문자를 제거합니다.
    const len = new_id.length;
    if (new_id.length >= 16) new_id = new_id.slice(0, 15);
    new_id = new_id.replace(".", "");
    
    return new_id;
}
profile
기록하는 삶
post-custom-banner

0개의 댓글