Post
KO

script 천단위 콤마 넣기.

 출처  - http://mwultong.blogspot.com/2006/12/javascript-comma-number-thousands.html

**정규식 설명:

**숫자의 끝부분부터 매치시키며, 루프 속에서 숫자의 좌측으로 즉 앞쪽으로 이동합니다.

이미 쉼표화가 된 부분이나, 소수부는 (^[+-]?\d+)(\d{3}) 이런 정규식으로 매치되지 않기에, 점점 앞쪽으로 이동하게 됩니다.

$1 은 앞쪽 소괄호가 매치되는 내용 $2 는 뒤쪽 소괄호가 매치되는 내용이기에 그 사이에 쉼표(,)를 넣어주고 치환합니다.


onkeypress 로 해서 입력할때마다 변경하도록 하고 싶었지만

할수가 없어서 focusout을 사용하였다 - 동생 감사 -

        function addComma(n) {             var reg = /(^[+-]?\d+)(\d{3})/;             n += ‘’;             while(reg.test(n)){                 n = n.replace(reg, ‘$1’ + ‘,’ + ‘$2’);             }             return n;         }

            $(‘#charge’).focusout(function(){                 $(‘#charge’).val(addComma($(‘#charge’).val()));             });         });

————————————- 12.11.02 13시 38분 ————————————

내가 왜 이생각을 못했을까 계속 ㅡㅡ;

1번째 ‘,’ 입력은 잘된다. 하지만 2번째꺼는 안된다. 이유는? 뭔가 문자형타입이 들어가면 안되는것 같다. 따라서 정규식을 이용해서 ‘,’를 삭제 시켜버렸다. 그랬더니 됐다.

간단한 거였는데 좀 모잘라서 어렵게 갔던 것 같다.

$('#charge').keyup(function(){
   $(‘#charge’).val(addComma($(‘#charge’).val().replace(/^$ ,/g, “”)));

    });

이렇게 했더니 해결 할 수 있었다.

This article is licensed under CC BY 4.0 by the author.