어느 비전공자의 개발일지

JavaScript - 가격(숫자)입력시 자동 , 찍기 본문

백엔드 개발자/JavaScript

JavaScript - 가격(숫자)입력시 자동 , 찍기

vndn629 2023. 4. 19. 09:24

 

목적 : 사용자 인터페이스에서 금액을 (숫자)만 입력하게 했을시에 천단위 로 자동으로 , 가 찍히게 보이게 되는 것

Tip : onkeyup event를 사용해서 한다.

 


 

Jsp

<div class="r">
	<label for="LOAN_AMT">대출 금액</label>
	<input type="text" name="COMP_AMT" id="LOAN_AMT" onkeyup="chkNumber(this)"><br>
</div>

 


JavaScript

ex) 예를들어 사용자가 1300000이라는 숫자를 입력했을때

진행 순서 (1) ~> (4)

<script type="text/javascript">
  // 천단위 콤마 (소수점포함)
  function numberWithCommas(num) {
    var parts = num.toString().split(".");	// (3)    ['1300000']
    return parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + (parts[1] ? "." + parts[1] : "");
    								//  (4) '1,300,000''
  }

  // 숫자 체크(숫자 이외 값 모두 제거)
  function chkNumber(obj){
    var tmpValue = $(obj).val().replace(/[^0-9,]/g,'');	// (1)   1,300,000
    tmpValue = tmpValue.replace(/[,]/g,'');					// (2)   1300000 제거함
    // 천단위 콤마 처리 후 값 강제변경
    obj.value = numberWithCommas(tmpValue);
  }
</script>

 

결과

ex) 숫자만 입력했음

 

반응형