JavaScript での 10 進数の検証: IsNumeric()
問題ステートメント:
JavaScript で 10 進数を検証するための最も効果的かつ明確な方法。クロスプラットフォーム互換性。
テスト ケース:
- IsNumeric('-1') → true
- IsNumeric('-1.5') → true
- IsNumeric('0 ') → true
- IsNumeric('0.42') → true
- IsNumeric('.42 ') → true
- IsNumeric('99,999') → false
- IsNumeric('0x89f') )→ false
- IsNumeric('#abcdef') → false
- IsNumeric('1.2 .3') → false
- IsNumeric('') → false
- IsNumeric('blah') → false
解決策:
データ型に関係なく、普遍的な数値検証を実現するには、isNaN と isFinite の組み合わせをお勧めします。
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
ログイン後にコピー
このコードは、あらゆる入力を効果的に数値に強制し、有効性と有限性をチェックします。ただし、16 進数および指数形式も数値として考慮されることに注意することが重要です。
追加のアプローチ:
-
jQuery の isNumeric: 元の入力文字列とその浮動小数点表現を比較して、それらの差が以下であるかどうかを判断します。 1.
-
Angular 4.3 isNumeric: 浮動小数点表現から値を減算し、非 NaN 結果をチェックします。
考慮事項:
- を利用するES6 の Number.isNaN および Number.isFinite により、型変換処理が改善されました。
- 提供されたソリューションは、16 進数や指数形式を含むすべての数値を有効なものとして扱います。特定の検証要件に基づいて実装を調整します。
以上がJavaScript で 10 進数を効果的に検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。