求js正则表达式: 
要求。比如用户输入一些不确定的数字0.500,12.0,365.00,236.58400 ,100.00,153.0400。
        我现在要去掉数据后面无效的0.如果是整数则保留整数(比如365.00  保留为356) 
通过了就马上结贴。分不多。50

解决方案 »

  1.   

    都把分给我吧
    <script>
    var a = 1.5000;
    var b = "3.00000";

    var no3 = eval(a);
    var no4 = eval(b);
    alert(no3);
    alert(no4);
    </script>
      

  2.   

    一定要正则?function f(a)
    {
       var b = parseInt(a);
       a = parseFloat(a);
       return a == b ? b : a;
    }
      

  3.   

    <script>    
    var a=1.50000;
    var b=123123.00;
    alert(parseFloat(a));
    alert(parseFloat(b));
    </script>
    根本不用正则啊,自动转就行了   
      

  4.   

    <script>
        var a = "1.5000";
        var b = "3.00000";
        var c = "0.00000";
        var d = "12";
        var e = "12.00200";
        var f = "12.015";
        
        var ex = /(0|([1-9][0-9]*(\.[0-9]*[1-9])?))(0*)/
        var ex = /(0|([1-9][0-9]*(\.[0-9]*[1-9])?))(\.?0+)$/
        alert(a.replace(ex, "$1"));
        alert(b.replace(ex, "$1"));    
        alert(c.replace(ex, "$1"));    
        alert(d.replace(ex, "$1"));    
        alert(e.replace(ex, "$1"));    
        alert(f.replace(ex, "$1"));    
    </script>
      

  5.   

    <script>
        var a = "1.5000";
        var b = "3.00000";
        var c = "0.00000";
        var d = "12";
        var e = "12.00200";
        var f = "12.015";
        
        var ex = /(0|([1-9][0-9]*(\.[0-9]*[1-9])?))(0*)/
        var ex = /(0|([1-9][0-9]*(\.[0-9]*[1-9])?))(\.?0+)$/ // <----------------
        alert(a.replace(ex, "$1"));
        alert(b.replace(ex, "$1"));    
        alert(c.replace(ex, "$1"));    
        alert(d.replace(ex, "$1"));    
        alert(e.replace(ex, "$1"));    
        alert(f.replace(ex, "$1"));    
    </script>
      

  6.   

    <script> 
      var a = "110000.00500";
        var b = "34.00";
        
        var no1 = parseFloat(a);
        var no2 = parseFloat(b);
        alert(no1 );
        alert(no2 );</script>这种情况不用正则表达式会好一点吧
      

  7.   

    2楼的办法最好 function f(a)
    {
       var b = parseInt(a);
       a = parseFloat(a);
       return a == b ? b : a;
    }
      

  8.   

    <script language="JavaScript">
        var str="-1330.20500";
        var reg=/(\-)?(\d)*\.[0-9]*[1-9]|(\-)?(\d)*[^\.](\d)*/ig
        var arr = str.match(reg);
        alert(arr[0]);
    </script>
      

  9.   

    搞定,结贴吧0.500, 12.0, 365.00, 236.58400, 100.00, 153.0400, 3.00
    <SCRIPT>
    var str = '0.500, 12.0, 365.00, 236.58400, 100.00, 153.0400, 3.00';
    var reg = /(\d+)\.0+(?=\b)|(\d+\.\d+?)0+(?=\b)/g;
    str = str.replace(reg, '$1$2');
    alert(str); //0.5, 12, 365, 236.584, 100, 153.04, 3
    </SCRIPT>