정규식을 이용한 실시간 콤마(comma) 넣기

by 조쉬 posted Jun 19, 2015
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
<!doctype html>
<html>
 <head>
  <meta charset="UTF-8"> 
  <title>정규식을 이용한 실시간 콤마(comma) 넣기</title>
  <script type="text/javascript">
  <!--
    function getNumber(obj){
        
         var num01;
         var num02;
         num01 = obj.value;
         num02 = num01.replace(/\D/g,""); //숫자가 아닌것을 제거, 
                                          //즉 [0-9]를 제외한 문자 제거; /[^0-9]/g 와 같은 표현
         num01 = setComma(num02); //콤마 찍기
         obj.value =  num01;

    }
    function setComma(n) {
         var reg = /(^[+-]?\d+)(\d{3})/;   // 정규식
         n += '';                          // 숫자를 문자열로 변환         
         while (reg.test(n)) {
            n = n.replace(reg, '$1' + ',' + '$2');
         }         
         return n;
    }
  //-->
  </script>
 </head>
 <body>
    <table width="650" border="0" cellspacing="1" cellpadding="5">
        <tr>
            <td width="109" bgcolor="#F2F2F2"><strong>result</strong></td>
            <td width="518" align="left" bgcolor="#FFFFFF">
                <input name="mypay" type="text" 
                    onchange="getNumber(this);" onkeyup="getNumber(this);" style="text-align:right;">
 원
            </td>
        </tr>
    </table>
 </body>
</html>