본문 바로가기

프로그램 강좌

[프로그래머스]신규아이디 -javascript

function solution(new_id) {
    let answer = new_id
        .toLowerCase()
        .replace(/[^a-z0-9-_.]/g, '')
        .replace(/[.]{2,}/g,'.')
        .replace(/^\.|\.$/g,'')    
        .replace(/^$/,'a')
        .slice(0,15).replace(/\.$/,'');

    if(answer.length<=2) {
        answer = answer.padEnd(3, answer[answer.length-1]);
    };        
    return answer;
}

쓸때는 그냥 필요할때마다 검색해서 썼었는데 이번 기회에 한번 정리하고 익혀두는게 좋을것 같네요.

  • /정규식/: 정규식 작성 시
  • [문자셋]: []안에 들어가는 문자열, 정규식 특수문자가 문자 그대로 취급됨
  • [^] : Not의 의미
  • \w: [A-Za-z0-9]와 동일
  • /정규식/g: i를 붙이면 대소문자 구분 없게, g를 붙이면 한번만 찾는게 아니라 같은 조건 모두 찾기
  • /[^\w-_.]/g: []안에 해당하지 않는 모든 문자
  • ^: 정규식 표현 ^은 첫번째 문자
  • $: 정규식 표현 $은 마지막 문자
  • | : 정규식 표현 or

마지막 padEnd 사용법은
https://grahams.tistory.com/394
여기를 참고하세요.

728x90