テキストボックスに整数と浮動小数点数(小数点以下第3位まで)のみを許可したいのですが、JavaScriptを使用してこれを実現するにはどうすればよいですか?
有効な値は次のとおりです
1234
12.3
12.314
1.11
0.4
有効ではありません
1.23456
abcd or any other character
テキストボックスに整数と浮動小数点数(小数点以下第3位まで)のみを許可したいのですが、JavaScriptを使用してこれを実現するにはどうすればよいですか?
有効な値は次のとおりです
1234
12.3
12.314
1.11
0.4
有効ではありません
1.23456
abcd or any other character
一致させる必要があるというコメントに基づいて".1"
、正規表現の最初の部分に条件を追加する必要があります。
var re = /^(\d+)?(?:\.\d{1,3})?$/;
これを試して:
var reg=/^[\d]+(?:\.\d{1,3})?$/;
str=10.2305;
str1=123;
alert(reg.test(str));
alert(reg.test(str1));
Fiddle を確認してくださいhttp://jsfiddle.net/8mURL/1
正規表現を使用して入力フィールドを検証します。正規表現は次のとおりです。
^[0-9]+(?:\.[0-9]{1,3})?$
これを行うには、正規表現を使用できます。
/^\d+(?:\.\d{1,3})?$/
これは、文字列の始まり(^
)、1桁以上の数字(\d+
)、オプションでa.
と1〜3桁の数字((?:\.\d{1,3})
)、そして文字列の終わり($
)です。
入力の値と比較するには、次のようにします。
var re = /^\d+(?:\.\d{1,3})?$/;
var testValue = document.getElementById('id-of-input').value;
if(re.test(testValue)) {
// matches - input is valid
}
else {
// doesn't match - input is invalid
}
このjsFiddleデモをご覧ください。