반응형
개발 환경
---------------------------------
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 = '유효하지 않은 날짜입니다. 다시 입력해 주세요.'
}
}
반응형
'개발노트 > JavaScript' 카테고리의 다른 글
[VSCode] 커밋하지 않을 파일 관리, 로컬에서만 Ignore 시키기 (0) | 2024.12.30 |
---|---|
[Intellij] Deprecated Gradle features were used in this build 오류 해결 (0) | 2024.04.02 |
[VSCode] 한글 깨짐 해결 (0) | 2024.03.29 |
[JavaScript] 천 단위 콤마 찍기 (DB에서 / JS에서) (0) | 2024.03.28 |
[Vue.js] NextTick (0) | 2024.02.02 |
댓글