[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>

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

편리

PHP와 MariaDB, jQuery 등을 사용해 게시판, 쇼핑몰 솔루션을 개발합니다. 그누보드5와 영카트5 개발에 참여 했습니다. Linux와 Nginx는 물론 WordPress, Git 등에도 관심이 많습니다. 자전거 타기 및 사진 촬영을 취미로 하고 있습니다.

카카오톡 플러스친구 채팅 : NCUBE.NET

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.