允许小数位输入最多3

时间:2013-03-22 11:48:01

标签: javascript jquery

我想在文本框中只允许整数和浮点数(最多3个小数位),如何使用javascript实现此目的?

有效值为

1234
12.3
12.314
1.11
0.4

无效

1.23456
abcd or any other character 

4 个答案:

答案 0 :(得分:1)

根据您需要匹配".1"的注释,您需要在正则表达式的第一部分添加条件。

var re = /^(\d+)?(?:\.\d{1,3})?$/;

Rough test suite - jSFiddle

答案 1 :(得分:0)

使用正则表达式验证输入字段,正则表达式如下

^[0-9]+(?:\.[0-9]{1,3})?$

答案 2 :(得分:0)

您可以使用正则表达式执行此操作:

/^\d+(?:\.\d{1,3})?$/

这是字符串的开头(^),一个或多个数字(\d+),可选地后跟.和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
}

看看this jsFiddle demo

答案 3 :(得分:0)

试试这个:

var reg=/^[\d]+(?:\.\d{1,3})?$/;
str=10.2305;
str1=123;
alert(reg.test(str));
alert(reg.test(str1));

检查小提琴 http://jsfiddle.net/8mURL/1