<html>
    <body>
		<input type="text" onkeyup="numberToCommas(this)" />
    </body>
</html>

키보드를 누를 때마다 함수를 호출


function numberToCommas(obj) {
	var n = obj.value;
    if (n == "") {
        obj.value = "";
    }
    //음수 계산
    var minus = '';
    if(n.charAt(0) == "-") {
        var minus = "-";
    }
    //문자열, 소수점2개 제한
    n = n.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');
    //콤마 지우기
    n = n.replace(/\,/g, '');

    //소수점 유무
    if(n.indexOf('.') > 0) {
        var decimal = n.split('.');
        var integer = decimal[0].replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');
        //마이너스 붙이기
        obj.value = minus + integer + '.' + decimal[1];
    } else {
        //마이너스 붙이기
        obj.value = minus + n.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');
    }
}

정규표현식 뻐큐

 

 

+ Recent posts