ホームページ >ウェブフロントエンド >jsチュートリアル >`IsNumeric()` を使用して JavaScript で堅牢な 10 進数検証を実装するにはどうすればよいですか?

`IsNumeric()` を使用して JavaScript で堅牢な 10 進数検証を実装するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-26 00:10:12122ブラウズ

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

IsNumeric() を使用した JavaScript での 10 進数検証の実装

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);
}

考慮事項と機能拡張

これ実装には、16 進数や指数を含むすべての数値が含まれます。ただし、10 進数のみの検証を必要とするアプリケーションの場合は、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 の IsNumeric()

export function isNumeric(value: any): boolean {
    return !isNaN(value - parseFloat(value));
}

これらの代替実装は、さまざまなアプローチを提供します。数値による検証が行われますが、いずれも堅牢で効果的なソリューションを提供するよう努めています。

以上が`IsNumeric()` を使用して JavaScript で堅牢な 10 進数検証を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。