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 |
Tags
- https
- 루테란 떠돌이상인
- HWP
- 한글
- SI
- 홈페이지제작견적
- 슈샤이어 떠돌이상인
- zoom
- 아르데타인 떠돌이상인
- 가로세로세팅
- PIP모드
- 3
- SSL
- 로헨델 떠돌이상인
- 페이튼 떠돌이상인
- SE
- 토토이크 떠돌이상인
- 베른 떠돌이상인
- 이름바꾸기
- 특정페이지가로로
- IT용어
- 애니츠 떠돌이상인
- 작은화면
- 파푸니카 떠돌이상인
- 유튜브
- 욘 떠돌이상인
- sm
Archives
- Today
- Total
도담도담
자바스크립트로 나이 계산식 만들기 본문
주민번호로는 만 나이까지 구현
문자열로는 일반 나이까지만 구현
주민번호로 만 나이계산하기
var Resident_num = '9212151885522'
var BDY = Resident_num.substring(0,2);
var BDM = Resident_num.substring(2,4);
var BDD = Resident_num.substring(4,6);
var R_num = Resident_num.substring(6);
var BDFullYear
if(R_num.substring(0,1)=='1' || R_num.substring(0,1)=='2'){
BDFullYear = 1900 + Number(BDY);
} else if(R_num.substring(0,1)=='3' || R_num.substring(0,1)=='4'){
BDFullYear = 2000 + Number(BDY);
}
var today = new Date();
var birthdate = new Date(BDFullYear,BDM,BDD);
var age = today.getFullYear() - birthdate.getFullYear();
var m = today.getMonth() - birthdate.getMonth(); //만 나이 구하기
if (m < 0 || (m == 0 && today.getDate() < birthdate.getDate())){
age--;
}
console.log(age);
문자열로 나이계산하기
var sentence = "1992년생인데 가입하려고요"
var BDM = 0;
var BDD = 0;
var sen_wording = /([0-9\,\.]+)년생/g;
var sen_num = sentence.match(sen_wording)[0]
var BDFullYear = /([0-9\,\.]+)/g;
if (sen_num.match(BDFullYear)) {
BDFullYear = Number(sen_num.match(BDFullYear)[0])
}
var today = new Date();
var birthdate = new Date(BDFullYear, BDM, BDD); //따로 설정 안하면 그냥 해당년도 1월 1일 기준으로
var age = today.getFullYear() - birthdate.getFullYear();
console.log(age);
위의 경우를 모두 포함하여 나이 계산하기
msg 부분을 sentence 로 넣거나 Resident_num 를 넣으면 각 경우에 따라 계산식이 진행된다.
var msg = 'sentence'
var Resident_num = '9212151885522' //만 나이 처리가 가능
var sentence = "1992년생인데 가입하려고요" //만 나이는 안되고 일반 나이만 가능
if (msg == 'Resident_num') {
var BDY = Resident_num.substring(0, 2);
var BDM = Resident_num.substring(2, 4);
var BDD = Resident_num.substring(4, 6);
var R_num = Resident_num.substring(6);
var BDFullYear
if (R_num.substring(0, 1) == '1' || R_num.substring(0, 1) == '2') {
BDFullYear = 1900 + Number(BDY);
} else if (R_num.substring(0, 1) == '3' || R_num.substring(0, 1) == '4') {
BDFullYear = 2000 + Number(BDY);
}
} else if (msg == 'sentence') {
var BDM = 0;
var BDD = 0;
var sen_wording = /([0-9\,\.]+)년생/g;
var sen_num = sentence.match(sen_wording)[0]
var BDFullYear = /([0-9\,\.]+)/g;
if (sen_num.match(BDFullYear)) {
BDFullYear = Number(sen_num.match(BDFullYear)[0])
}
}
var today = new Date();
var birthdate = new Date(BDFullYear, BDM, BDD); //따로 설정 안하면 그냥 해당년도 1월 1일 기준으로
var age = today.getFullYear() - birthdate.getFullYear();
console.log(age);
'IT 공부 > 개인정리' 카테고리의 다른 글
버블정렬 (Bubble Sort_ JavaScript) (0) | 2022.03.02 |
---|---|
자바스크립트로 다음달 자동이체일 확인하기 (0) | 2022.02.16 |
드레그앤드롭 (Drag and Drop) 연습 (0) | 2022.02.10 |
환율계산기 만들어보기 (0) | 2022.02.07 |
== 와 === 의 차이점 (0) | 2022.01.25 |
Comments