Jam's story
[JQuery] 만나이 계산 본문
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<title>Document</title>
</head>
<body>
<input type="text" id="txtrrn" value="891223-1700001">
<br>
<button id="btn">만나이 계산</button>
<p id="demo"></p>
<script>
$("#btn").click(function(){
let rrn=$("#txtrrn").val();
let age=getAge(rrn);
alert("만나이:"+age+"살");
});
function getAge(rrn){
//성별
// 생년월일
//substr은 2번째 인덱스가 가져올 문자 갯수
let bYear=parseInt(rrn.substr(0,2));
let bMonth=parseInt(rrn.substring(2,4));
let bDay=parseInt(rrn.slice(4,6));
console.log(bYear+"/"+bMonth+"/"+bDay);
let today=new Date();
let year=today.getFullYear();
var key=parseInt(rrn.slice(7,8));
//문자열 자르는 함수를 쓰면 string 형이니 parseint를 해주던지,
//case문의 조건을 문자열로 맞추어주던지 2가지
switch(key){
case 1: case 2: case 5: case 6:
bYear+=1900;
break;
case 3: case 4: case 7: case 8:
bYear+=2000;
break;
case 9: case 0:
bYear+=1800;
break;
}
console.log(bYear);
let age=year-bYear;
//생일이 지나지 않은경우
//정수를 만들어서 비교
let b= bMonth*100+bDay; //1223
let a=today.getMonth()*100+today.getDate(); //602
if(a<b) age--;
return age;
}
</script>
</body>
</html>
만나이 구하는 2번째 방법
if(today.getMonth()<=bMonth && today.getDate()<bDay ){
age--;
}
복습 다시풀기
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<title>Document</title>
</head>
<body>
<input type="text" id="txtrrn" value="891223-1700001">
<br>
<button id="btn">만나이 계산</button>
<p id="demo"></p>
<script>
$("#btn").click(function(){
let rrn=$(":text").val();
let age=getAge(rrn);
$("#demo").text(age);
});
function getAge(rrn){
//년 ,월 ,일 자르기 , 성별도
let bYear=parseInt(rrn.slice(0,2));
let bMonth=parseInt(rrn.slice(2,4));
let bDay=parseInt(rrn.slice(4,6));
let sexAuth=parseInt(rrn.substr(7,1));
//오늘 날짜
const today=new Date();
//성별에 따라서 년에 얼마가 더해질지 다르다.
switch(sexAuth){
case 1: case 2: case 5: case 6:
bYear+=1900;
break;
case 3: case 4: case 7: case 8:
bYear+=2000;
break;
case 9: case 10:
bYear+=2000;
break;
}
let to_year=today.getFullYear();
let age=to_year-bYear;
let b=bMonth*100+bDay;
let a=today.getMonth()*100+today.getDate();
if(a<b){age--;}
return age;
}
</script>
</body>
</html>
js
여기만 변경
document.getElementById("btn").onclick=function(){
var rrn=document.getElementById("txtrrn").value;
var pdemo=document.getElementById("demo");
var age=getAge(rrn);
pdemo.innerText=age;
}
'WEB > JQuery' 카테고리의 다른 글
[JQuery] < ,> 버튼 과 목차버튼으로 이미지 넘기기 (0) | 2022.06.06 |
---|---|
[JQuery] input에서 입력받아 li태그로 만들기 (0) | 2022.06.02 |
[JQuery] select 모두 옮기기 ,하나만 옮기기 (0) | 2022.06.02 |
[JQuery] 스타일 변경 (0) | 2022.05.27 |
[JQuery] 버튼 누르면 동작 -전구에 불 끄고 키기 (0) | 2022.05.27 |
Comments