생년월일을 입력받아 자바스크립트를 이용해서 미성년자를 확인한다.
입력 양식 : 19940101(숫자만 입력)
function birthday_chk(f)
{
f.value = f.value.only_number();
if(f.value == '')
{
alert('생년월일을 작성해주세요.');
return false;
}
else if(f.value.length != 8)
{
alert('생년월일을 정확히 작성해 주세요.\n(예. 1994년 1월 1일생 -> 19940101로 작성)');
return false;
}
//=== 확인 : 생년월일 형식 // 시작
var adt = 19; // 성년 나이
var adt_max = 100; // 100세
var d = new Date();
var y = d.getFullYear();
var m = (d.getMonth() + 1);
var d = d.getDate();
// 날짜 포맷 맞추기
if(m < 10) m = '0' + m;
if(d < 10) d = '0' + d;
var birthday_y = parseInt(f.value.substr(0,4));
var birthday_m = f.value.substr(4,2);
var birthday_d = f.value.substr(6,2);
var birthday_md = f.value.substr(4,4);
if(age < adt || (age == adt && parseInt(('1' + birthday_md)) > parseInt(('1' + m + d))))
{
alert('19세 미만은 이용하실 수 없습니다.');
return false;
}
if(birthday_y < parseInt(y - adt_max) || (parseInt(birthday_m) < 1 || parseInt(birthday_m) > 12) || (parseInt(birthday_d) < 1 || parseInt(birthday_d) > 31))
{
alert('생년월일을 확인해 주세요.');
return false;
}
//=== 확인 : 생년월일 형식 // 끝
return true;
}
<form id="f" name="f">
<input type="text" id="birthday" name="birthday" maxlength="8" onblur="birthday_chk(document.f)" />
</form>