日期:2014-05-16  浏览次数:20380 次

求个正则表达式
用来检测正常的纯数字(包含负数和小数)
另外,当数字被逗号以每3位分割开时,也要能检测通过

正确的例子
     1,234
     -1,234.77

错误的例子
    12,34
    1,2,3
   1,2.34
   1.2,3
    


------解决方案--------------------
var a=['1,234','-1,234.77','12,34','1,2,3','1,2.34','1.2,3'];
var reg=/^[+-]?\d+(,\d{3})*(\.\d+)?$/;
for(var i=0;i<a.length;i++){
alert(a[i]+'
------解决方案--------------------
'+reg.test(a[i]));
}
类似这样试试
------解决方案--------------------
/^[+-]?([1-9](\d{2})?(,\d{3})*(\.\d*[1-9])?
------解决方案--------------------
0(\.\d*[1-9])?
------解决方案--------------------
[1-9]\d*(\.\d*[1-9])?)$/

正确的例子
0
1
1000
2000000
1,234
1,234.01
-1,234.77
-1,121,234.77
-121,234.77
+2.1
+2.10120132
-0.1

错误的例子
2000,000
+2.10120132.2
a
031
-0.10
+0,123
0,111
12,34
1,2,3
1,2.34
1.2,3