Cálculadora de Índice Masa Corporal usando JavaScript

Introducción

Hola, en este tutorial enseñaremos sobre como crear una calculadora usando JavaScript para obtener el IMC.

El Índice de Masa Corporal es una medida de asociación entre el peso y la medida de una persona. El IMC es usado como uno de varios indicadores para evaluar el estado nutricional.

La fórmula del IMC es el peso en kilógramos dividido por el cuadrado de la altura en metros (kg/m2). El IMC es una indicación simple de la relación entre el peso y la medida que se utiliza frecuentemente para identificar el sobrepeso y la obesidad en los adultos, tanto a nivel individual como poblacional.

La Organización Mundial de la Salud, ha propuesto una clasificación del estado nutricional dependiendo del IMC de una persona.

Veámos el Código JS

function calc_imc()
{
  var altura=document.getElementById("altura").value;
  altura=altura.toString().replace(',','.');
  var alturaMetro=altura/100;
  var peso=document.getElementById("peso").value;
  
  if(altura==""){
      document.getElementById("errorIMC").innerHTML="Por favor, introduce tu altura.";
  }
  else if(altura<0){
      document.getElementById("errorIMC").innerHTML="La altura que ingrese debe ser positiva.";
  }
  else if(altura<20){
      document.getElementById("errorIMC").innerHTML="Ha introducido la altura en metros. 
      Por favor, multipliquela por 100 para introducirla en centimetros.";
  }
  else{
      document.getElementById("errorIMC").innerHTML="";
      if(peso==""){
        document.getElementById("errorIMC").innerHTML="Por favor, introduce tu peso.";
      }
      else if(peso<0){
          document.getElementById("errorIMC").innerHTML="El peso que ingrese debe ser positivo.";
      }
      else{
        document.getElementById("errorIMC").innerHTML="";
        
        // CALCULO IMC
        var alturaCuadrado=alturaMetro*alturaMetro;
        var imc=peso/alturaCuadrado;
        document.getElementById("IMC").value=Math.round(imc*100)/100;     
        // CALCULO DESCRIPCION IMC
        if(imc<16){
          document.getElementById("IMCdemedidado").value="Delgadez Severa";    
        }
        else if(imc<17){
          document.getElementById("IMCdemedidado").value="Delgadez Moderada";    
        }
        else if(imc<18.5){
          document.getElementById("IMCdemedidado").value="Delgadez Aceptable";   
        }
        else if(imc<25){
          document.getElementById("IMCdemedidado").value="Peso Normal";    
        }
        else if(imc<30){
          document.getElementById("IMCdemedidado").value="Sobrepeso";    
        }
        else if(imc<35){
          document.getElementById("IMCdemedidado").value="Obeso: Tipo I";    
        }
        else if(imc<40){
          document.getElementById("IMCdemedidado").value="Obeso: Tipo II";   
        }
        else if(imc>=40){
          document.getElementById("IMCdemedidado").value="Obeso: Tipo III";    
        }
      }
  }
}

Demostración




Resultado

Clasificación Organización Mundial de la Salud

IMC Clasificación
<16.00 Infrapeso: Delgadez Severa
16.00 - 16.99 Infrapeso: Delgadez moderada
17.00 - 18.49 Infrapeso: Delgadez aceptable
18.50 - 24.99 Peso Normal
25.00 - 29.99 Sobrepeso
30.00 - 34.99 Obeso: Tipo I
35.00 - 40.00 Obeso: Tipo II
>40.00 Obeso: Tipo III

Sobre programación web

• Validación de formularios usando características de HTML5
• Método para insertar registros en MySQL usando PHP
• Obtener datos desde MySQL y mostrar el resultado en una tabla
• Los colores y sus códigos RGB
• Cómo evitar los comentarios spam
• Creando un login simple con jquery, php y mysql
• Conversor de Medidas Online
• Visualizar datos en una tabla parte II: Aplicando estilo css
• Un ejemplo de ABM usando Ajax - PHP - MySQL
• Usando jquery para modificar elementos del HTML
• Usar PDO para conectarse a MYSQL
• Cómo detectar el navegador usando JavaScript
• Cómo desarmar un notebook HP Compaq Presario C700
• Proyecto Intranet: Ordenes de servicio y ventas

Fotografía

• Michelles Jaque
• Beatriz Cabrera Zapata

Poesías

• Mini Poesías - Constanza Gonzales
• Sobre las decisiones - Constanza Gonzales

Últimas Publicaciones

• Enviar correos usando un formulario desde sitio web o localhost con PHPMailer
• Cómo crear un cuadro de búsqueda al estilo Google
• Sistema de LogIn con verificación de email y recuperación de contraseña usando PHP
• Demostración Jquery UI Selectable usando php y bases de datos mysql
• Subir, insertar, actualizar, borrar imágenes con PHP y MySQL
• Calculadora IMC usando JavaScript
• Select Dependientes con Ajax MySQL PHP
• Expresiones regulares en PHP
• Cómo convertir datos MySQL en formato JSON en PHP
• Visualizar datos en una tabla html con mysqli
• Siembras: Aplicación en Laravel 5.5

Newsletter



Gracias. Te mantendremos informado

Website Template por IdeasChile © 2009 - 2024 Optimizado para los navegadores Chrome - Firefox - Opera - Edge