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
'프로그램 강좌' 카테고리의 다른 글
[react]react-bootstrap 설치 방법 (0) | 2022.01.08 |
---|---|
[프로그래머스]키패드 누르기 - javascript (0) | 2021.12.20 |
[javascript]padEnd (0) | 2021.12.15 |
[React]Warning: Using UNSAFE_componentWillMount in strict mode... (0) | 2021.12.11 |
[프로그래머스]로또의 최고 순위와 최저 순위 - javascript (0) | 2021.12.05 |