现在有个想法,把一个数字分割成像银行的那些金额数字一样显示。
比如:有个数字是12345678,分割后的显示就是,12,345,678这样的,每3位数加上一个逗号分割符。

解决方案 »

  1.   

    你在csdn里搜一下都能搜到一堆~~~!
      

  2.   

    http://so.csdn.net/search?t=thread&q=%E9%87%91%E9%A2%9D%20%E9%80%97%E5%8F%B7
      

  3.   


    <script>
    function onKeyPrice(t) 

        var stmp = ""; 
        if(t.value==stmp)
        {
            return; 
        }
        var ms = t.value.replace(/[^\d\.]/g,"").replace(/(\.\d{2}).+$/,"$1").replace(/^0+([1-9])/,"$1").replace(/^0+$/,"0"); 
        var txt = ms.split("."); 
        while(/\d{4}(,|$)/.test(txt[0])) 
        {
           txt[0] = txt[0].replace(/(\d)(\d{3}(,|$))/,"$1,$2"); 
        }
        t.value = stmp = txt[0]+(txt.length>1?"."+txt[1]:""); 
    } </script>
    <input type="text" name="amount" onkeyup="onKeyPrice(this)">
      

  4.   

    var a = '12345678';
        document.write(a.replace(/(.{1,3})/g,'$1,'));
      

  5.   

    链接。。
    http://topic.csdn.net/u/20120424/11/ca009bde-427e-41ae-9773-89c3b645a00d.html
      

  6.   

    //整理了一下,写成函数形式了
    function addComma(n) {
    var ar = n.toString().split('').reverse();
    var result = [];

    for (var i = 0; i < ar.length; i ++) (i + 1) % 3 == 0 && i < ar.length - 1 ? result.push(',' + ar[i]) : result.push(ar[i]);
    return result.reverse().join('');
    }
    alert(addComma(123456789));
      

  7.   

    很简单的正向预查:"12345678".replace(/.(?=(...)+$)/g, "$&,")
      

  8.   

    a.replace(/(.{3})/g, '$1,').replace(/\,$/g,'')
      

  9.   

    嗯,是的,这种计数方法是错误的,已经结贴了,prototyper,马甲和calmcrime都可以,不过prototyper的最简单,感谢各位的耐心解答,,