验证javascript十进制数
我使用以下regexp验证javascript文件中的数字:验证javascript十进制数,javascript,jquery,regex,Javascript,Jquery,Regex,我使用以下regexp验证javascript文件中的数字: var valid = (val.match(/^\d+$/)); 它适用于100、200等整数,但对于1.44、4.11等整数,它返回false。我如何更改它,使带小数点的数字也被接受 var valid = (val.match(/^\d+(?:\.\d+)?$/)); 匹配项: 1 : yes 1.2: yes -1.2: no +1.2: no .2: no 1. : no 1 : yes 1.2: y
var valid = (val.match(/^\d+$/));
它适用于100、200等整数,但对于1.44、4.11等整数,它返回false。我如何更改它,使带小数点的数字也被接受
var valid = (val.match(/^\d+(?:\.\d+)?$/));
匹配项:
1 : yes
1.2: yes
-1.2: no
+1.2: no
.2: no
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: no
.2: no
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: yes
.2: no
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: yes
.2: yes
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: yes
.2: yes
1. : yes
匹配项:
1 : yes
1.2: yes
-1.2: no
+1.2: no
.2: no
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: no
.2: no
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: yes
.2: no
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: yes
.2: yes
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: yes
.2: yes
1. : yes
匹配项:
1 : yes
1.2: yes
-1.2: no
+1.2: no
.2: no
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: no
.2: no
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: yes
.2: no
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: yes
.2: yes
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: yes
.2: yes
1. : yes
匹配项:
1 : yes
1.2: yes
-1.2: no
+1.2: no
.2: no
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: no
.2: no
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: yes
.2: no
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: yes
.2: yes
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: yes
.2: yes
1. : yes
匹配项:
1 : yes
1.2: yes
-1.2: no
+1.2: no
.2: no
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: no
.2: no
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: yes
.2: no
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: yes
.2: yes
1. : no
1 : yes
1.2: yes
-1.2: yes
+1.2: yes
.2: yes
1. : yes
试试这个:
^[-+]?\d+(\.\d+)?$
如果你想接受小数(包括isNaN),对我来说,isNaN似乎是一个更好的解决方案
> isNaN('1')
false
> isNaN('1a')
true
> isNaN('1.')
false
> isNaN('1.00')
false
> isNaN('1.03')
false
> isNaN('1.03a')
true
> isNaN('1.03.0')
true
!isNaN(text)&&parseFloat(text)=text“4.”从技术上讲是一个有效的十进制数,但此正则表达式与之不匹配。您应该将组中的\d+
数字设为可选数字。