[jQuery] input 필드에 금액 입력 때 콤마 표시하기

매번 자전거 탄 것만 올리다 이건 아니다 싶어 별로 어렵지 않은 jQuery를 이용한 코드를 하나 올린다. input 필드에 금액을 입력할 때 입력한 금액을 알아보기 위해 콤마를 표시하게 되는데 이걸 가능하게 하는 코드이다. 물론 jQuery는 페이지에 이미 로드되어 있다고 가정한다.

<script>
function number_format(data)
{
    var tmp = '';
    var number = '';
    var cutlen = 3;
    var comma = ',';
    var i;

    var sign = data.match(/^[\+\-]/);
    if(sign) {
        data = data.replace(/^[\+\-]/, "");
    }

    len = data.length;
    mod = (len % cutlen);
    k = cutlen - mod;
    for (i=0; i<data.length; i++)
    {
        number = number + data.charAt(i);

        if (i < data.length - 1)
        {
            k++;
            if ((k % cutlen) == 0)
            {
                number = number + comma;
                k = 0;
            }
        }
    }

    if(sign != null)
        number = sign+number;

    return number;
}

$(function() {
    $("input#price").on("keyup", function() {
        var val = String(this.value.replace(/[^0-9]/g, ""));

        if(val.length < 1)
            return false;

        this.value = number_format(val);
    });
});
</script>

코드를 봐도 뭐 특별한 게 없는 것 같다. 이렇게 날로 먹어도 되나 싶긴 한데.. 혹시 필요하신 분들에게는 유용했으면 좋겠다.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.