나이가 만 14세 이상인가? Javascript 체크

2007. 5. 19. 16:15Programming/JavaScript

나이가 만 14세 이상인지 확인하려면 어떻게 해야할까?

뭐 여러가지 방법이 있겠지만

가장 간단한 방법을 소개한다.
(GNU Board 에서 발췌한 소스)

if (typeof(f.mb_birth) != 'undefined') {
        var todays = 20070512;
        // 오늘날짜에서 생일을 빼고 거기서 140000 을 뺀다.
        // 결과가 0 이상의 양수이면 만 14세가 지난것임
        var n = todays - parseInt(f.mb_birth.value) - 140000;
        if (n < 0) {
            alert("만 14세가 지나지 않은 어린이는 정보통신망 이용촉진 및 정보보호 등에 관한 법률\n\n제 31조 1항의 규정에 의하여 법정대리인의 동의를 얻어야 하므로\n\n법정대리인의 이름과 연락처를 '자기소개'란에 별도로 입력하시기 바랍니다.");
            return;
        }
    }

  1. 나의 생일이 '19810115'의 형식으로 f(form 객체).mb_birth(input text의 textbox의 id) 에 저장되어 있다.
  2. 오늘의 날자를 구한다.
  3. 오늘의 날자에서 내 생일을 뺀다.
  4. 140000을 더 뺀다.
  5. 결과값이 0보다 작으면 만 14세가 지나지 않은것이다.
  6. 결과값이 0보다 크거나 같으면 만 14세 이상이다.
Date함수로 복잡하게 파싱하지 않고 위 방법으로 하는 것이 현재로서는 가장 편한 방법이 아닐까 생각한다. ^ ^