繁体   English   中英

允许输入的小数位数最多为3

[英]allow input with decimal places upto 3

我想在文本框中仅允许使用整数和浮点数(最多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})?$/;

粗略测试套件-jSFiddle

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

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

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

/^\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
}

看看这个jsFiddle演示

尝试这个:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM