본문 바로가기
개발노트/JavaScript

[JavaScript] 생년월일 데이터 포맷

by 전지적진영시점 2024. 4. 4.
반응형

개발 환경

---------------------------------

OS : Mac

개발 툴 : intelliJ 

개발 언어 : javaScript

개발 프레임워크 : nuxt

빌드 도구 : Gradle

---------------------------------

 

회원가입 등 생일 데이터를 받아야할 때 사용자가 주는 데이터를 포맷하서 넣어주면 깔끔하다.

잘못된 데이터가 들어가는 일도 없을 것이다.

 

아래 코드는  생일 데이터를 입력받을 때 내가 받고싶은 데이터 형식에 맞게 포맷해주는 코드이다.

 

1. 숫자 외의 문자는 받지 않는다.

 

2. 8자 이상 넘어가지 않도록한다.

 

3. 현재 년도를 넘어가지 않게하며 1~12월, 1~31일 안에서 입력될 수 있도록 한다.

 

내가 설정한 조건은 위 세가지이다.

 

const isCheckDate = ref(false);

const formatDate = () => {
  //숫자 데이터가 숫자 이외의 데이터를 안받도록
  date.value = date.value.replace(/\D/g, '');

  //숫자 데이터가 8자를 넘지 않도록 하고
  if (date.value.length > 8) {
    date.value = date.value.slice(0, 8);
  }

  if (date.value.slice(0, 4) <= parseInt(dayjs().format('YYYY'))
      &&date.value.slice(4,6) >= 1 &&  date.value.slice(4,6) <= 12 && date.value.slice(6, 8) >= 1 && orgnRegistDate.value.slice(6,8) <= 31) {
    isCheckDate.value = false

    date.value = date.value.replace(/(\d{4})(\d{2})(\d{2})/, '$1.$2.$3');
  } else {
    isCheckDate.value = true
    checkDate.value = '유효하지 않은 날짜입니다. 다시 입력해 주세요.'
  }
}
반응형

댓글