解决方案 »

  1.   

    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]));
    }
    类似这样试试
      

  2.   

    var reg=/^[+-]?[1-9]\d{0,2}(,\d{3})*(\.\d+)?$/;
    看看这样行不
      

  3.   

    var a=['-0.234','0.234','0,234,234','1,234,234','-1,234.77','12,34','1,2,3','1,2.34','1.2,3','1.1'];
    var reg=/^[+-]?([1-9]\d{0,2}(,\d{3})*(\.\d+)?|0(\.\d+)?)$/;
    for(var i=0;i<a.length;i++){
    alert(a[i]+'||'+reg.test(a[i]));
    }额  是的
      

  4.   

    /^[+-]?([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
      

  5.   

    推荐一个测试正则WEB工具:http://jssdk.com/regex/