首頁  >  文章  >  web前端  >  純 JavaScript 中是否有 jQuery isNumeric() 的替代方案?

純 JavaScript 中是否有 jQuery isNumeric() 的替代方案?

Patricia Arquette
Patricia Arquette原創
2024-10-19 16:57:30143瀏覽

Is There an Alternative to jQuery's isNumeric() in Pure JavaScript?

在純JavaScript 中確定數值:jQuery isNumeric() 的替代方法

jQuery 庫提供了一個方便的函數isNumeric(),用於驗證值是否表示一個數字。然而,對於 jQuery 不可用的情況,有必要知道純 JavaScript 中是否有替代方案。

數字測驗的挑戰

在 JavaScript 中,確定值的類型不是總是直截了當。使用 typeof 運算符,人們可能會直觀地認為驗證一個值是否為數字可以簡單地透過檢查其 typeof 是否為「數字」來實現。然而,這種方法有其限制。

製作自己的 isNumeric() 函數

由於 JavaScript 缺乏內建的 isNumeric() 函數,因此需要自訂實作。

實作:

<code class="javascript">function isNumeric(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}</code>

解釋:

  • parse>嘗試將輸入轉換為浮點數。如果成功,則傳回一個數字值,否則傳回NaN(Not a Number)。
  • isNaN()
  • :檢查parseFloat()的結果是否為NaN,表示輸入不是數字。
  • isFinite()
  • :驗證輸入是否是有限數(不是 Infinity 或 -Infinity)。
用法:

用法:
<code class="javascript">const value = 10;
console.log(isNumeric(value)); // true</code>

值得強調的是,parseInt() 不應該用於數字驗證。 parseInt() 根據字串的基數(通常為 10)將字串強制轉換為整數,這對於非整數輸入可能會產生錯誤的結果。

以上是純 JavaScript 中是否有 jQuery isNumeric() 的替代方案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn