জাভাস্ক্রিপ্ট দিয়ে দেওয়া বছর লিপ ইয়ার (Leap Year) কিনা চেক করার কোড।
উদাহরণ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
.result { font-size: 18px; font-weight: 500; color: blueviolet; }
</style>
</head>
<body>
<h1>Check Leap year or not</h1>
Enter the year <input class="year" type="text" />
<button class="Btn">CHECK</button>
<div class="result"></div>
<h3>Click on the above button check if the year above is leap year or not</h3>
<script>
let resultEle = document.querySelector(".result");
let yearEle = document.querySelector(".year");
document.querySelector(".Btn").addEventListener("click", () => {
const year = parseInt(yearEle.value);
if (isNaN(year)) {
resultEle.innerHTML = "Please enter a valid year";
return;
}
// লিপ ইয়ার লজিক: ৪ দিয়ে বিভাজ্য, কিন্তু ১০০ দিয়ে বিভাজ্য নয় (যদি ৪০০ দিয়ে বিভাজ্য না হয়)
const isLeap = (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);
resultEle.innerHTML = year + (isLeap ? " is a leap year" : " is not a leap year");
});
</script>
</body> </html>
লিপ ইয়ার নিয়ম
- বছর ৪ দিয়ে বিভাজ্য হলে লিপ ইয়ার (যেমন ২০২০, ২০২৪)
- বছর ১০০ দিয়ে বিভাজ্য হলে লিপ ইয়ার নয় (যেমন ১৯০০, ২১০০)
- বছর ৪০০ দিয়ে বিভাজ্য হলে লিপ ইয়ার হয় (যেমন ২০০০, ২৪০০)
সঠিক লজিক
function isLeapYear(year) {
return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);
}
টেস্ট কেস
console.log(isLeapYear(2000)); // true (400 দিয়ে বিভাজ্য)
console.log(isLeapYear(1900)); // false (100 দিয়ে বিভাজ্য কিন্তু 400 দিয়ে নয়)
console.log(isLeapYear(2020)); // true (4 দিয়ে বিভাজ্য, 100 দিয়ে নয়)
console.log(isLeapYear(2021)); // false (4 দিয়ে বিভাজ্য নয়)
console.log(isLeapYear(2400)); // true (400 দিয়ে বিভাজ্য)
মূল কোডে শুধু year % 4 == 0 চেক করা হয়েছে যা ১৯০০, ২১০০ ইত্যাদির জন্য ভুল ফলাফল দেবে। উপরের সম্পূর্ণ লজিক ব্যবহার করুন।