2014-10-30 107 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]+)?$/ 

我希望這適合你的情況。