2014-10-30 188 views
1

浮点输入我需要找到用户inputed数字是否有效
下列情况下是有效的检测使用JavaScript正则表达式

1. `12` 

2. `12.01` 

以下情况下是无效的:

1. `12.` // decimal point with no number following 

我写了一个正则表达式,如

var decimalValidation = /^[0-9]*(\.?)[0-9]*$/; 
var n = decimalValidation .test(value); 

但问题是它接受像12.

+0

http://www.regular-expressions.info/floatingpoint.html – Bergi 2014-10-30 04:55:14

+0

另请参阅:http://stackoverflow.com/questions/18082/validate-decimal-numbers-in-javascript-isnumeric – Paul 2014-10-30 04:58:44

回答

4

像下面更改您的正则表达式以匹配整数和浮点数。

var decimalValidation = /^\d+(?:\.\d+)?$/; 

DEMO

+0

+1你好赢得。前瞻是没有必要的。 – naomik 2014-10-30 04:50:11

1

如果是这样的话,我会用下面的模式:

var pattern = /^[0-9]+(\.[0-9]+)?$/ 

我希望这适合你的情况。