Calculator Tools Calculator Tools
Create

BMI Calculator

Sep 15, 2023

About this app

Calculate your Body Mass Index (BMI) with this handy calculator.

BMI Calculator BMI Calculator Height: Weight: Unit System: Metric Imperial Calculate

Related apps

Put this on your site

Source

                    <html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>BMI Calculator</title>
<meta name="description" content="Calculate your Body Mass Index (BMI) with this handy calculator.">
<meta name="keywords" content="BMI calculator, Body Mass Index calculator, health, fitness">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">

<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.

// This will run when the DOM is ready.
document.addEventListener("DOMContentLoaded", function() {
// Define the unit conversion factors
const METRIC_TO_IMPERIAL_HEIGHT = 0.0328084;
const IMPERIAL_TO_METRIC_HEIGHT = 30.48;
const METRIC_TO_IMPERIAL_WEIGHT = 2.20462;
const IMPERIAL_TO_METRIC_WEIGHT = 0.453592;

// Function to calculate the BMI
function calculateBMI(height, weight, unitSystem) {
if (unitSystem === "metric") {
// Convert height from cm to m
height = height / 100;

// Calculate BMI
return weight / (height * height);
} else {
// Convert height from ft/in to inches
const [feet, inches] = height.split("'");
const totalInches = parseInt(feet) * 12 + parseInt(inches);

// Convert inches to cm
const heightCm = totalInches * IMPERIAL_TO_METRIC_HEIGHT;

// Convert weight from lbs to kg
const weightKg = weight * IMPERIAL_TO_METRIC_WEIGHT;

// Calculate BMI
return weightKg / ((heightCm / 100) * (heightCm / 100));
}
}

// Function to handle the form submission
function handleSubmit(event) {
event.preventDefault();

// Get user inputs
const height = document.getElementById("height").value;
const weight = document.getElementById("weight").value;
const unitSystem = document.getElementById("unit-system").value;

// Calculate BMI
const bmi = calculateBMI(height, weight, unitSystem);

// Display the result
document.getElementById("result").textContent = `Your BMI is ${bmi.toFixed(2)}`;
}

// Add event listener to the form
document.getElementById("bmi-form").addEventListener("submit", handleSubmit);
});

} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>

<style>
/* App CSS Goes Here */
body {
font-family: 'Arial', sans-serif;
background-color: #f5f5f5;
}

.container {
max-width: 500px;
margin: 0 auto;
padding: 20px;
background-color: #fff;
border-radius: 10px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

h1 {
color: #333;
text-align: center;
margin-bottom: 20px;
}

label {
display: block;
margin-bottom: 10px;
font-weight: bold;
}

input[type="text"] {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border-radius: 5px;
}

select {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border-radius: 5px;
}

.btn {
display: block;
width: 100%;
padding: 10px;
margin-top: 20px;
background-color: #333;
color: #fff;
text-align: center;
text-decoration: none;
border-radius: 5px;
transition: background-color 0.3s;
}

.btn:hover {
background-color: #555;
}

#result {
text-align: center;
font-size: 20px;
margin-top: 20px;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>BMI Calculator</h1>

<form id="bmi-form">
<label for="height">Height:</label>
<input type="text" id="height" placeholder="Enter your height">

<label for="weight">Weight:</label>
<input type="text" id="weight" placeholder="Enter your weight">

<label for="unit-system">Unit System:</label>
<select id="unit-system">
<option value="metric">Metric</option>
<option value="imperial">Imperial</option>
</select>

<button type="submit" class="btn">Calculate</button>
</form>

<div id="result"></div>
</div>
</body>
</html>