在JavaScript 中驗證十進制數:IsNumeric()
問題陳述:
確定在JavaScript 中驗證十進位數字最有效、最清晰的方法,確保跨平台相容性。
測試案例:
- IsNumeric('-1') → true
- IsNumeric('-1.5') → true
- IsNumeric('0') → true
-
-
- IsNumeric('.42') → true
Nume- Isume ') → false
- IsNumeric('0x89f') → false
-
IsNumeric('1.2.3') → false
- IsNumeric('blah') → false
解決方案>
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
為了實現通用數字驗證,無論資料類型如何,組合建議使用isNaN 和isFinite:
此程式碼有效地將任何輸入強制轉換為數字並檢查有效性和有限性。但是,需要注意的是,它也將十六進制和指數格式視為數字。
其他方法:
jQuery 的isNumeric:- 將原始輸入字串與其浮點表示形式進行比較,以確定它們的差異是否小於1.
Angular 4.3 isNumeric:
從浮點表示中減去值並檢查非 NaN 結果。
注意事項:
-
- 利用ES6 中的 Number.isNaN 和 Number.isFinite 用於改進型別轉換處理。
提供的解將所有數值視為有效,包括十六進位和指數格式。根據具體驗證要求調整實施。
以上是如何在 JavaScript 中有效驗證十進制數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!