[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>
코드를 봐도 뭐 특별한 게 없는 것 같다. 이렇게 날로 먹어도 되나 싶긴 한데.. 혹시 필요하신 분들에게는 유용했으면 좋겠다.
사실 포커싱은 중간에 글자 삭제했을 때 포커싱 어긋남 등등 문제가 있어서
texteditor 만드는 방식으로 디비전 작업 해야 맞는거긴해요 ㅋㅋ