JavaScript-এ `isNaN()` ফাংশন ব্যবহার করে ইনপুট মান সংখ্যা (Number) কিনা চেক করা যায়। এটি `NaN` (Not-a-Number) হলে `true` রিটার্ন করে। ফর্ম ভ্যালিডেশনে খুবই কাজে লাগে।
বেসিক সিনট্যাক্স
if (isNaN(value)) {
// সংখ্যা নয়
} else {
// সংখ্যা
}
পূর্ণ HTML উদাহরণ (ফর্ম ভ্যালিডেশন)
<!DOCTYPE html>
<html lang="bn">
<head>
<meta charset="UTF-8">
<title>Input Validation</title>
</head>
<body>
<form name="checkingInput" onsubmit="return validateNumber()">
মান লিখুন: <input type="text" name="txtValue">
<br><br>
<input type="submit" value="চেক করুন">
</form>
<script>
function validateNumber() {
var value = document.forms["checkingInput"]["txtValue"].value;
if (isNaN(value)) {
alert("দয়া করে সংখ্যা দিন!");
return false; // ফর্ম সাবমিট বন্ধ
}
alert("সঠিক সংখ্যা: " + value);
return true;
}
</script>
</body>
</html>
চলানোর পদ্ধতি
- ফাইলটি
isNaNDemo.htmlনামে সংরক্ষণ করুন। - VS Code-এ Open with Live Server দিয়ে চালান।
- সंख্যা বাদে কিছু লিখে সাবমিট করুন।
আউটপুট
- ইনপুট: "abc" → ألার্ট: "দয়া করে সংখ্যা দিন!"
- ইনপুট: "100" → ألার্ট: "সঠিক সংখ্যা: 100" + কোয়েরি স্ট্রিং
isNaN() এর আচরণ (গোটাগোটি)
| ইনপুট | isNaN() | Number() |
|---|---|---|
| "123" | false | 123 |
| "12.34" | false | 12.34 |
| "abc" | true | NaN |
| "" (খালি) | false | 0 |
| " 123 " | false | 123 |
| null | false | 0 |
| undefined | true | NaN |
আধুনিক বিকল্প: Number.isNaN()
// গ্লোবাল isNaN() কভার্ট করে চেক করে (প্রচলিত আচরণ)
isNaN("hello"); // true
// Number.isNaN() শুধু NaN মান চেক করে (কভার্ট করে না)
Number.isNaN("hello"); // false (স্ট্রিং NaN নয়)
Number.isNaN(NaN); // true
Number.isNaN(0/0); // true
সেরা অনুশীলন
- স্ট্রিক্ট চেক: `Number.isNaN(Number(value))`
- HTML5: `` ব্রাউজার ভ্যালিডেশন দেয়।
- Regex: `/^\d+$/` পূর্ণসংখ্যা, `/^\d+(\.\d+)?$/` দশমিক।