본문 바로가기
Developer/Etc

Date Format(날짜 형식) 정규표현식

by 김씩씩 2020. 9. 25.

Date Format(날짜 형식) 정규표현식

 

날짜 포맷의 정규식을 자주 사용하는 것 같아 정리해보도록 하겠습니다.

 

/^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$/

위 정규식은 년도는 숫자 4자리만,

월은 자릿수를 맞춰주기 위해 1~9월 사이라면 0X월 형식만, 10~12월 사이라면 10, 11, 12 월만,

일은 자릿수를 맞춰주기 위해 1~9일 사이라면 0X일 형식만, 10일 이상은 앞자리는 1에서 3까지만 가능하며, 30일 이상은 30, 31 만 가능하도록하고,

년도, 월, 일 사이에 '-' 문자로 구분하도록 작성한 정규식 입니다.

 

JavaScript를 사용해 테스트 해보도록 하겠습니다.

 

var regex = RegExp(/^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$/);
regex.test("2020-09-25");

 

구분자를 바꾸시고 싶다거나 년도, 월, 일 순서를 바꾸시고 싶으시다면 바꿔서 사용하시면 되겠습니다.

가령 구분자를 '-'가 아닌 '/'로 바꾸고 싶으시다면,

var regex = RegExp(/^\d{4}\/(0[1-9]|1[012])\/(0[1-9]|[12][0-9]|3[01])$/);
regex.test("2020/09/25");

이런식으로 구분자 부분만 바꿔주시면 되겠습니다.

 

여기서 연도, 월, 일 순서도 바꾸길 원하시면,

var regex = RegExp(/^(0[1-9]|1[012])\/(0[1-9]|[12][0-9]|3[01])\/\d{4}$/);
regex.test("09/25/2020");

이런식으로 정규식에서 연도, 월, 일 부분을 바꾸셔서 사용하시면 되겠습니다.

 

 

도움이 되셨다면 공감, 댓글 부탁드립니다!
제 글에 잘못된 정보, 더 좋은 방법 혹은 정보, 궁금하신 점, 요청 사항 등이 있으시다면 언제든지 말씀해 주세요!

 

감사합니다.


댓글