首頁 >web前端 >js教程 >如何使用「IsNumeric()」在 JavaScript 中實現穩健的十進制數字驗證?

如何使用「IsNumeric()」在 JavaScript 中實現穩健的十進制數字驗證?

Linda Hamilton
Linda Hamilton原創
2024-12-26 00:10:12123瀏覽

How to Implement Robust Decimal Number Validation in JavaScript using `IsNumeric()`?

使用 IsNumeric() 在 JavaScript 中實現十進制數字驗證

JavaScript 開發人員經常遇到需要驗證數值輸入的情況。 IsNumeric() 成為應對這項挑戰的多功能函數。

IsNumeric():綜合驗證工具

IsNumeric() 是一個強大的函數,旨在處理廣泛的輸入類型,包括字串、數字,甚至各種資料結構的值。其目標是確定提供的輸入是否代表數值。

為了確保清晰度和跨平台相容性,IsNumeric() 利用 JavaScript 的內建函數。

測試案例和預期結果

為了證明其有效性,請考慮以下測試案例及其相應的預期結果:

Test Case Expected Outcome
'-1' true
'-1.5' true
'0' true
'0.42' true
'.42' true
'99,999' false
'0x89f' false
'#abcdef' false
'1.2.3' false
'' false
'blah' false

實作

以下程式碼片段提供了IsNumeric()函數的實作:

function isNumeric(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}

注意事項與增強功能

此實作包含所有數字值,包括十六進位數和指數。但是,對於僅需要小數驗證的應用程序,可以對 isNumeric() 函數進行調整。

替代實作

多年來,IsNumeric( 的各種實作)已經出現。以下是一些值得注意的替代方案:

jQuery 的IsNumeric()

jQuery.isNumeric = function(obj) {
    var realStringObj = obj && obj.toString();
    return !jQuery.isArray(obj) && (realStringObj - parseFloat(realStringObj) + 1) >= 0;
}

Angular 4.3.

這些替代實作提供了不同的數位驗證方法,但都致力於提供穩健有效的解決方案。
export function isNumeric(value: any): boolean {
    return !isNaN(value - parseFloat(value));
}

以上是如何使用「IsNumeric()」在 JavaScript 中實現穩健的十進制數字驗證?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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