Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีตรวจสอบว่าค่าเป็นตัวเลขใน JavaScript

ใช้เมธอด Number.isInteger() ตรวจสอบว่าค่าเป็นจำนวนเต็ม (integer) หรือไม่

ตัวอย่าง

<html>
  <head>
    <title>JavaScript isInteger() Method</title>
  </head>
  <body>
    <script>
      document.write(Number.isInteger(30) + "<br>");      // true
      document.write(Number.isInteger(true) + "<br>");    // false
      document.write(Number.isInteger(false) + "<br>");   // false
      document.write(Number.isInteger(-30) + "<br>");     // true
    </script>
  </body>
</html>

วิธีตรวจสอบตัวเลขแบบกว้างขึ้น (Number vs Integer)

เมธอดตรวจสอบตัวอย่าง trueตัวอย่าง false
Number.isInteger()จำนวนเต็ม5, -3, 05.1, "5", NaN
typeof x === 'number'ชนิด number5, 3.14, -2"5", NaN, Infinity
Number.isFinite()ตัวเลขจำกัด (ไม่ NaN/Infinity)5, 3.14NaN, Infinity
!isNaN(x) && typeof x === 'number'ตัวเลข valid (legacy)5, 3.14NaN, "5"

ฟังก์ชันตรวจสอบครบถ้วน

function isNumber(value) {
  return typeof value === 'number' && !isNaN(value) && isFinite(value);
}

function isInteger(value) {
  return Number.isInteger(value);
}

หมายเหตุ: isNaN() แบบ global แปลง argument เป็น number ก่อน (isNaN("hello") = true) แต่ Number.isNaN() ไม่แปลง (Number.isNaN("hello") = false) – ควรใช้ Number.isNaN()