티스토리 뷰


1. 비만도 체질량 지수 계산기(BMI)bmi지수 계산기와 계산법

 

신장 : 

 

체중 : 

 

BMI 결과 : 

 

티스토리 블로그 포스팅에는 이렇게 스크립트를 넣어서 기능을 개발할 수가 있군요. 오늘은 간단하게 비만도 계산기를 만들어봤습니다. 어느정도 한계성은 있겠지만 이런 스크립트까지 가능할줄은 몰랐네요.


2. BMI 지수 계산법.

비만도 체질량 지수 계산기(BMI)

비만 계산법은 신체질량지수인 BMI(Body Mass Index)에 근거한 방식으로 BMI지수= 몸무게(kg) ÷ (신장(m) × 신장(m)) 입니다.

 

산출된 값이 18.5 이하면 저체중, 18.5~23은 정상, 23~25는 과체중, 25~30은 비만, 30이상은 고도비만으로 나누어지는데요. 특히 14세 미만 비만 아동의 약 70%가 성인 비만에 걸리는 등 소아 비만에서 성인 비만으로 진행하는 비율이 높아 적극적인 관리대책이 필요하다는 주장이 나와있습니다.

 

체질량지수(BMI) 30 이상을 비만으로 보는 서구와 달리 우리나라는 BMI 25 이상을 비만으로 여기고 있어 비만율 기준이 더 엄격하지만 소아, 청소년 비만이 점점 더 심각해지는 상황을 부인하기는 어렵습니다. 서구는 이미 비만이 가장 심각한 질병으로 분류하고 비만과의 전쟁을 선포하는 등 국가적으로 비만율을 줄이기 위해서 여러가지 캠페인을 통해 노력하고 있습니다. 


3. 전에 사용하던 예전 비만도 계산법

 

일반적인 비만도 계산법도 있는데요. 이게 BMI 나오기 이전에는 더 일반적이었죠.

 

다들 기억 나시나요? 키에서 100 빼서 0.9 곱하던 그것. 요즘에는 BMI에 밀려 사장되긴 했지만요. 둘다 계산해서 나의 비만도를 계산하는것도 괜찮을 것 같습니다.

 

 

비만도 계산법은 키가 151cm이상인 경우 "표준체중(kg) = [신장(cm)-100 ] x 0.9 " , 키가 151cm이하인 경우 표준체중(kg) = [신장(cm)-100] 로 표준체중을 구할수가 있습니다.ㅣ

표준체중을 구한 다음 비만도 계산법은 표준체중을 기준으로 자신의 체중과 표준체중의 차이를 이용하여 구해주시면 됩니다. 
                          현체중-표준체중 
      비만도(%) = ------------------- x 100 으로 구한다. 
                              표준체중

비만도 계산법으로 비만도를 구하게 되면 다음과 같은 기준으로 정상여부를 판단하실 수 있습니다. 비만도가 0~20%사이이면 정상, 20~30%사이이면 비만, 30%이상은 과체중입니다.


4. BMI 계산기 만드는 스크립트

티스토리 에디터에서 HTML 모드로 변경한 뒤에 HTML 코드와 script 코드를 적절하게 넣어줍니다. 이 부분은 개발을 조금 아시는 분들이 하실 것이니 자세한 설명은 생략하고 코드를 넣겠습니다. 

HTML

<p>비만도 체질량 지수 계산기(BMI)bmi지수계산기와&nbsp;계산법</p>
<p>&nbsp;</p>
<div>신장 :&nbsp; <input id="i_stature" style="text-align: center;" type="number" /></div>
<p>&nbsp;</p>
<div>체중 :&nbsp; <input id="i_weight" style="text-align: center;" type="number" /></div>
<p>&nbsp;</p>
<div style="font-weight: bold;">BMI 결과 :&nbsp;<span style="text-align: center;" class="bmi_result"></span></div>
<p>&nbsp;</p>

Javascript

<script>
  (function($) {
    let bmi_matrix = [
    	{
            id : 'low_weight'
        	, min_val : 0
            , max_val : 18.5
            , msg : '저체중'
        }
        ,{
            id : 'standard_weight'
        	, min_val : 18.5
            , max_val : 23
            , msg : '정상'
        },{
            id : 'over_weight'
        	, min_val : 23
            , max_val : 25
            , msg : '과체중'
        },{
            id : 'Mild_obesity'
        	, min_val : 25
            , max_val : 30
            , msg : '경도비만'
        },{
            id : 'Moderate_obesity'
        	, min_val : 30
            , max_val : 99999
            , msg : '중등비만'
        }
    ]
  	$("#i_stature").on('change keyup paste',function(){
      setBmiResult();
    });
    $("#i_weight").on('change keyup paste',function(){
      setBmiResult();
    });
    
    setBmiResult = () => {
      let i_stature = $("#i_stature").val();
      let i_weight = $("#i_weight").val();
      i_stature = i_stature / 100;
      let bmi_result = (i_weight / ( i_stature * i_stature )) ;
      console.log("bmi_result", bmi_result);
      let bmi_msg;
      for( let bm of bmi_matrix ){
       	 if(  bmi_result >= bm.min_val && bmi_result < bm.max_val ){
            bmi_msg = bm.msg;
         }
      }
      
      $(".bmi_result").text( parseFloat(bmi_result).toFixed(2) + " " + bmi_msg + "입니다.");
      
      return;
      
      if( i_stature < 100 ) { $("#stnr_stature").text(""); return;}
      let stnr_weight = (i_stature - 100) * ( i_stature > 150 ? 0.9 : 1);
      $("#stnr_weight").val(stnr_weight);
      let bmi_result2 = ( i_weight - stnr_weight ) / stnr_weight * 100;
      $("#bmi_result").val( parseFloat(bmi_result).toFixed(2) );
      console.log("bmi_result : ",  bmi_result);
    }
  })(jQuery);
</script>

이 부분은 jquery 가 기본적으로 적용되어있다는 가정하에 jquery를 사용해서 처리 했습니다. 티스토리 제 스킨에서는 jquery가 기본적으로 탑재 되어있어서 jquery를 그대로 사용하고 있네요.

 

이런식으로 여러가지 계산기나 간단한 스크립트 페이지들은 만들어낼 수 있을 듯 합니다. 오늘은 BMI지수 계산법과 BMI지수 계산기에 대해서 정리해봤습니다. 감사합니다.


댓글
최근에 올라온 글
최근에 달린 댓글