- 正規表現を使用する方法:
function validateDecimalNumber(input) {
var decimalRegex = /^\d*\.?\d+$/;
return decimalRegex.test(input);
}
console.log(validateDecimalNumber("3.14")); // true
console.log(validateDecimalNumber("42")); // true
console.log(validateDecimalNumber("abc")); // false
この例では、正規表現/^\d*\.?\d+$/
を使用して入力が小数点数であるかどうかを検証しています。この正規表現は、任意の数字の0回以上の繰り返し、オプションの小数点、および少なくとも1つの数字の繰り返しに一致します。
- parseFloat()関数を使用する方法:
function validateDecimalNumber(input) {
var number = parseFloat(input);
return !isNaN(number) && isFinite(number);
}
console.log(validateDecimalNumber("3.14")); // true
console.log(validateDecimalNumber("42")); // true
console.log(validateDecimalNumber("abc")); // false
この例では、parseFloat()
関数を使用して入力を浮動小数点数に変換し、その結果がNaN(非数)ではなく有限数であるかどうかを確認しています。
- Number型を使用する方法:
function validateDecimalNumber(input) {
var number = Number(input);
return !isNaN(number) && isFinite(number);
}
console.log(validateDecimalNumber("3.14")); // true
console.log(validateDecimalNumber("42")); // true
console.log(validateDecimalNumber("abc")); // false
この例では、Number()
関数を使用して入力を数値に変換し、その結果がNaN(非数)ではなく有限数であるかどうかを確認しています。
これらの方法は、小数点数のバリデーションに効果的であり、クリーンな方法です。選択する方法は、特定のニーズや環境に応じて異なる場合があります。適切な方法を選択するために、プロジェクトの要件や制約を考慮してください。