Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- apache mod rewrite
- modsecurity 설치
- bootstrap modal
- bootstrap
- 부트스트랩4 세로 중앙 정렬
- 파라미터 & 오류
- 구글 OTP 인증
- mysqldump: Got error: 1045
- PHP 정규식 예제
- group_concat 구분자
- usb efi 시스템 파티션 삭제
- (using password: YES)" when trying to connect
- 자바스크립트비밀번호검증
- javascript
- PHP 구글 OTP 인증
- svn 충돌 해결 resolve
- 비밀번호정규식
- svn 충돌 해결 resolved
- 우분투 mysql 비밀번호 없이 로그인 될때
- 아파치 웹 서버의 정보 숨기기
- PHP 구글 OTP 연동
- wkhtmltopdf 실행 오류
- 비밀번호검증정규식
- html pdf 변환
- JQuery checkbox 컨트롤
- 세로 중앙 정렬
- libxrender1
- mysql root 비밀번호 변경
- php 특정 문자열 취환
- magic bytes
Archives
- Today
- Total
투덜이 개발자
[Javascript] 생년월일 (만)나이 계산, 생년월일 유효성 검사 본문
반응형
// 생년월일 실제 나이 개산
function age(birthday) {
const year = Number(birthday.substr(0, 4)); // 입력한 값의 0~4자리까지 (연)
let today = new Date(); // 오늘 날짜를 가져옴
let yearNow = Number(today.getFullYear()); // Date 객체의 년도를 가져옵니다.
let age = Number(yearNow - year + 1); // 소수점 버림
return age;
}
// 생년월일 만 나이 개산
function age_kor(birthday) {
birthday = Number(birthday.replace(/-/gi,'')); // '-' 문자 모두 '' 변경
let today = new Date(); // 오늘 날짜를 가져옴
let yearNow = String(today.getFullYear()); // Date 객체의 년도를 가져옵니다.
let monthNow = String(today.getMonth() + 1); // 객체의 월 정보를 가져옵니다. 1월은 0으로 표현됨을 주의해야 합니다. (0~11)
let dayNow = String(today.getDate()); // Date 객체의 일자 정보를 가져옵니다. (0~31)
monthNow = (monthNow < 10) ? '0' + monthNow : monthNow;
dayNow = (dayNow < 10) ? '0' + dayNow : dayNow;
today = Number(yearNow + monthNow + dayNow); // 오늘날짜 숫자형으로 변환
let age = Math.floor((today - birthday) / 10000); // 소수점 버림
// console.log(age);
return age;
}
// 생년월일 유효성 검사
function birthdayCheck(birthday) {
birthday = birthday.replace(/-/gi,''); // '-' 문자 모두 '' 변경
const year = Number(birthday.substr(0, 4)); // 입력한 값의 0~4자리까지 (연)
const month = Number(birthday.substr(4,2)); // 입력한 값의 4번째 자리부터 2자리 숫자 (월)
const day = Number(birthday.substr(6,2)); // 입력한 값 6번째 자리부터 2자리 숫자 (일)
const today = new Date(); // 오늘 날짜를 가져옴
const yearNow = today.getFullYear(); // 올해 연도 가져옴
if (birthday.length <=8) {
if (1900 > year || year > yearNow){ // 연도의 경우 1900 보다 작거나 yearNow 보다 크다면 false를 반환합니다.
return false;
} else if (month < 1 || month > 12) {
return false;
} else if (day < 1 || day > 31) {
return false;
} else if ((month==4 || month==6 || month==9 || month==11) && day==31) {
return false;
} else if (month == 2) { // 2월달일때
// 2월 29일(윤년) 체크
const isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day>29 || (day==29 && !isleap)) {
return false;
} else {
return true;
} //end of if (day>29 || (day==29 && !isleap))
} else {
return true;
}//end of if
} else { // 입력된 생년월일이 8자 초과할때 : false
return false;
}
}
반응형
'Program Language > JavaScript & Jquery' 카테고리의 다른 글
[JavaScript] 회원가입 정규식 유효성 검사 (0) | 2022.02.09 |
---|---|
(function() { })() 의 의미는? (0) | 2022.02.04 |
드래그해서 순서를 바꿀 수 있는 리스트 만들기(jQuery UI - Sortable) (0) | 2022.01.12 |
$.ajax() 사용방법 (0) | 2022.01.04 |
부트스트랩 모달 내용 부분에 세로 스클롤 사용하기 (0) | 2022.01.03 |