본문 바로가기
웹프로그램

AJAX 금액을 입력할때 세자리마다 컴마찍기

by 세이박스 2009. 6. 9.
반응형

<html>
<head>
<title>컴마찍기</title>
<script Language='Javascript'>
<!--
function comma(comma_rstr) {                
    var nocomma = comma_rstr.value.replace(/,/gi,''); // 불러온 값중에서 컴마를 제거
    var b = ''; // 값을 넣기위해서 미리 선언
    var i = 0; // 뒤에서 부터 몇번째인지를 체크하기 위한 변수 선언
    for (var k=(nocomma.length-1); k>=0; k--) { // 숫자를 뒤에서 부터 루프를 이용하여 불러오기
        var a = nocomma.charAt(k);
        if (k == 0 && a == 0) {  // 첫자리의 숫자가 0인경우 입력값을 취소 시킴
            comma_rstr.value = '';
            return;
        }
        else {
            if (i != 0 && i % 3 == 0) { // 뒤에서 3으로 나누었을때 나머지가 0인경우에 컴마 찍기 i가 0인 경우는 제일 뒤에 있다는 것이므로 컴마를 찍으면 안됨
                b = a + "," + b ;
            }
            else { // 나머지가 0인 아닌경우 컴마없이 숫자 붙이기
                b = a + b;
            }
            i++;
        }
    }
    comma_rstr.value = b; // 최종값을 input값에 입력하기
    return;
}
//-->
</script>

</head>

<body>
<form name=commatest>
<input type=text name=commatestinput onKeyup=comma(document.commatest.commatestinput)>
</form>
</body>
</html>

반응형