[typescript] 날짜 형식의 유효성 검사 방법

날짜 형식의 유효성을 검사하기 위해 TypeScript에서 어떤 방법을 사용하는지 알아보겠습니다.

1. 정규식을 사용한 유효성 검사

JavaScript/TypeScript에서는 정규식을 사용하여 문자열이 특정한 형식에 맞는지 확인할 수 있습니다. 날짜 형식의 정규식은 다음과 같습니다.

const dateRegex: RegExp = /^\d{4}-\d{2}-\d{2}$/;
const dateString: string = '2022-01-31';

if (dateRegex.test(dateString)) {
  console.log('유효한 날짜 형식입니다.');
} else {
  console.log('유효하지 않은 날짜 형식입니다.');
}

위의 예제에서 dateString은 ‘YYYY-MM-DD’ 형식이어야 합니다.

2. 라이브러리를 활용한 유효성 검사

Moment.js나 date-fns 등의 라이브러리를 사용하여 날짜 형식의 유효성을 검사할 수 있습니다. 이러한 라이브러리를 사용하면 좀 더 강력한 유효성 검사와 다양한 날짜 조작 기능을 사용할 수 있습니다.

import { isValid, parseISO } from 'date-fns';

const dateString: string = '2022-01-31';

if (isValid(parseISO(dateString))) {
  console.log('유효한 날짜 형식입니다.');
} else {
  console.log('유효하지 않은 날짜 형식입니다.');
}

위의 예제에서는 date-fns 라이브러리를 사용하여 날짜 형식을 검사하고 있습니다.

3. TypeScript의 유효성 검사 도우미 라이브러리 활용

TypeScript에서는 io-tsclass-validator와 같은 유효성 검사 도우미 라이브러리를 사용하여 복잡한 유효성 검사를 수행할 수 있습니다. 이러한 라이브러리를 사용하면 정적 타입 검사와 함께 날짜 형식의 유효성을 검사할 수 있습니다.

import { validate, string, date } from 'io-ts';

const DateType = date;
const dateString: string = '2022-01-31';

const result = validate(dateString, DateType);

if (result._tag === 'Right') {
  console.log('유효한 날짜 형식입니다.');
} else {
  console.log('유효하지 않은 날짜 형식입니다.');
}

위의 예제에서는 io-ts 라이브러리를 사용하여 날짜 형식의 유효성을 검사하고 있습니다.

이러한 방법들을 사용하여 TypeScript에서 날짜 형식의 유효성을 검사할 수 있습니다. 선택한 방법은 프로젝트의 요구 사항과 선호도에 따라 다를 수 있습니다.