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中文網其他相關文章!