복붙노트

[JQUERY] 번호 세 자리마다에 쉼표를 추가

JQUERY

번호 세 자리마다에 쉼표를 추가

해결법


  1. 1.@ 폴 Creasey는 정규식으로 간단한 솔루션을했지만, 여기 간단한 jQuery 플러그인과 같다 :

    @ 폴 Creasey는 정규식으로 간단한 솔루션을했지만, 여기 간단한 jQuery 플러그인과 같다 :

    $.fn.digits = function(){ 
        return this.each(function(){ 
            $(this).text( $(this).text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") ); 
        })
    }
    

    그런 다음이처럼 사용할 수 있습니다 :

    $("span.numbers").digits();
    

  2. 2.당신은 Number.toLocaleString ()를 사용할 수 있습니다 :

    당신은 Number.toLocaleString ()를 사용할 수 있습니다 :

    VAR 번호는 1557564534를 =; document.body.innerHTML number.toLocaleString = (); // 1557564534


  3. 3.당신이 정확한 구문의 상점을 대체하기위한하지 않도록, 정규식에 있다면 이런 식으로 뭔가!

    당신이 정확한 구문의 상점을 대체하기위한하지 않도록, 정규식에 있다면 이런 식으로 뭔가!

    MyNumberAsString.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
    

  4. 4.당신은 NumberFormatter는을 시도 할 수 있습니다.

    당신은 NumberFormatter는을 시도 할 수 있습니다.

    $(this).format({format:"#,###.00", locale:"us"});
    

    그것은 물론 미국의 포함, 다른 로케일을 지원합니다.

    여기를 사용하는 방법에 대한 매우 간단한 예입니다 :

    <html>
        <head>
            <script type="text/javascript" src="jquery.js"></script>
            <script type="text/javascript" src="jquery.numberformatter.js"></script>
            <script>
            $(document).ready(function() {
                $(".numbers").each(function() {
                    $(this).format({format:"#,###", locale:"us"});
                });
            });
            </script>
        </head>
        <body>
            <div class="numbers">1000</div>
            <div class="numbers">2000000</div>
        </body>
    </html>
    

    산출:

    1,000
    2,000,000
    

  5. 5.2016 답변 :

    2016 답변 :

    자바 스크립트는 그래서 아무 JQuery와에 필요한이 기능을 가지고 있습니다.

    yournumber.toLocaleString("en");
    

  6. 6.이것은 jQuery를 아니지만, 나를 위해 작동합니다. 이 사이트에서 촬영.

    이것은 jQuery를 아니지만, 나를 위해 작동합니다. 이 사이트에서 촬영.

    function addCommas(nStr) {
        nStr += '';
        x = nStr.split('.');
        x1 = x[0];
        x2 = x.length > 1 ? '.' + x[1] : '';
        var rgx = /(\d+)(\d{3})/;
        while (rgx.test(x1)) {
            x1 = x1.replace(rgx, '$1' + ',' + '$2');
        }
        return x1 + x2;
    }
    

  7. 7.사용 기능 번호 ();

    사용 기능 번호 ();

    () {(기능 $ VAR의 price1 = 1000; var에 price2 = 500000; var에 price3 = 15245000; . $ ( "스팬 #의 S1 ') HTML (수 (price1) .toLocaleString ('엉 ')); . $ ( "스팬 # s2를") HTML (수 (price2) .toLocaleString ( '엉')); . $ ( "스팬 #의 S3") HTML (수 (price3) .toLocaleString ( '엉')); CONSOLE.LOG (번호 (가격) .toLocaleString ( '엉')); }); <스크립트 SRC = "https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"> <스팬 ID = "S1">
    <스팬 ID = "S2">
    <스팬 ID = "S3">


  8. 8.이것의 핵심은 통화를 대체합니다. 지금까지 내가 제안 된 솔루션의 다음과 같은 경우를 모두 처리 할 생각하지 않는다 :

    이것의 핵심은 통화를 대체합니다. 지금까지 내가 제안 된 솔루션의 다음과 같은 경우를 모두 처리 할 생각하지 않는다 :

    다음 함수는 위의 모든 작업을 수행합니다.

    addCommas = function(input){
      // If the regex doesn't match, `replace` returns the string unmodified
      return (input.toString()).replace(
        // Each parentheses group (or 'capture') in this regex becomes an argument 
        // to the function; in this case, every argument after 'match'
        /^([-+]?)(0?)(\d+)(.?)(\d+)$/g, function(match, sign, zeros, before, decimal, after) {
    
          // Less obtrusive than adding 'reverse' method on all strings
          var reverseString = function(string) { return string.split('').reverse().join(''); };
    
          // Insert commas every three characters from the right
          var insertCommas  = function(string) { 
    
            // Reverse, because it's easier to do things from the left
            var reversed           = reverseString(string);
    
            // Add commas every three characters
            var reversedWithCommas = reversed.match(/.{1,3}/g).join(',');
    
            // Reverse again (back to normal)
            return reverseString(reversedWithCommas);
          };
    
          // If there was no decimal, the last capture grabs the final digit, so
          // we have to put it back together with the 'before' substring
          return sign + (decimal ? insertCommas(before) + decimal + after : insertCommas(before + after));
        }
      );
    };
    

    이 같은 jQuery 플러그인에서 사용할 수 있습니다 :

    $.fn.addCommas = function() {
      $(this).each(function(){
        $(this).text(addCommas($(this).text()));
      });
    };
    

  9. 9.또한 JQuery와 FormatCurrency 플러그인 (이 중 내가 저자 오전)에서 볼 수 있습니다; 그것은뿐만 아니라 여러 로케일에 대한 지원을하고 있지만, 당신이 필요로하지 않는다는 통화 지원의 오버 헤드가있을 수 있습니다.

    또한 JQuery와 FormatCurrency 플러그인 (이 중 내가 저자 오전)에서 볼 수 있습니다; 그것은뿐만 아니라 여러 로케일에 대한 지원을하고 있지만, 당신이 필요로하지 않는다는 통화 지원의 오버 헤드가있을 수 있습니다.

    $(this).formatCurrency({ symbol: '', roundToDecimalPlace: 0 });
    

  10. 10.다음은 파이어 폭스와 크롬에서 테스트 내 자바 스크립트, 만

    다음은 파이어 폭스와 크롬에서 테스트 내 자바 스크립트, 만

    <html>
    <header>
    <script>
        function addCommas(str){
            return str.replace(/^0+/, '').replace(/\D/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ",");
        }
    
        function test(){
            var val = document.getElementById('test').value;
            document.getElementById('test').value = addCommas(val);
        }
    </script>
    </header>
    <body>
    <input id="test" onkeyup="test();">
    </body>
    </html>
    

  11. 11.아주 쉬운 방법은 사용 toLocaleString이다 () 함수

    아주 쉬운 방법은 사용 toLocaleString이다 () 함수

    tot = Rs.1402598 //Result : Rs.1402598
    
    tot.toLocaleString() //Result : Rs.1,402,598
    

  12. 12.

    function formatNumberCapture () {
    $('#input_id').on('keyup', function () {
        $(this).val(function(index, value) {
            return value
                .replace(/\D/g, "")
                .replace(/\B(?=(\d{3})+(?!\d))/g, ",")
                ;
        });
    });
    

    당신은 나를 위해 작동이 시도 할 수 있습니다

  13. from https://stackoverflow.com/questions/1990512/add-comma-to-numbers-every-three-digits by cc-by-sa and MIT license