그러냐

숫자 세자리 마다 천단위 콤마(,) 찍어주기, 콤마제거 본문

javascript

숫자 세자리 마다 천단위 콤마(,) 찍어주기, 콤마제거

관절분리 2016. 1. 27. 18:31
반응형

<script>
function cmaComma(obj) {
    var firstNum = obj.value.substring(0,1); // 첫글자 확인 변수
    var strNum = /^[/,/,0,1,2,3,4,5,6,7,8,9,/]/; // 숫자와 , 만 가능
    var str = "" + obj.value.replace(/,/gi,''); // 콤마 제거 
    var regx = new RegExp(/(-?\d+)(\d{3})/); 
    var bExists = str.indexOf(".",0); 
    var strArr = str.split('.'); 
 
    if (!strNum.test(obj.value)) {
        alert("숫자만 입력하십시오.\n\n특수문자와 한글/영문은 사용할수 없습니다.");
        obj.value = 1;
        obj.focus();
        return false;
    }
 
    if ((firstNum < "0" || "9" < firstNum)){
        alert("숫자만 입력하십시오.");
        obj.value = 1;
        obj.focus();
        return false;
    }
 
    while(regx.test(strArr[0])){ 
        strArr[0] = strArr[0].replace(regx,"$1,$2"); 
    
    if (bExists > -1)  {
        obj.value = strArr[0] + "." + strArr[1]; 
    } else  {
        obj.value = strArr[0];
    }
}
 
function commaSplit(n) {// 콤마 나누는 부분
    var txtNumber = '' + n;
    var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
    var arrNumber = txtNumber.split('.');
    arrNumber[0] += '.';
    do {
        arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
    }
    while (rxSplit.test(arrNumber[0]));
    if(arrNumber.length > 1) {
        return arrNumber.join('');
    } else {
        return arrNumber[0].split('.')[0];
    }
}
 
function removeComma(n) {  // 콤마제거
    if ( typeof n == "undefined" || n == null || n == "" ) {
        return "";
    }
    var txtNumber = '' + n;
    return txtNumber.replace(/(,)/g, "");
}
</script>
실시간 콤마 : <input type="text" name="cma_test" id="cma_test" onkeyup="cmaComma(this);" onchange="cmaComma(this);" /><br />
 
 
 
콤마제거 : <input type="text" name="cma_test2" id="cma_test2" readonly="readonly" />
<input type="button" value="콤마제거"
onclick="document.getElementById('cma_test2').value = removeComma(document.getElementById('cma_test').value)" /><br />
 
 
 
콤마삽입 : <input type="text" name="cma_test3" id="cma_test3" readonly="readonly" />
<input type="button" value="콤마삽입"
onclick="document.getElementById('cma_test3').value = commaSplit(document.getElementById('cma_test2').value)" />
반응형