[javascript] 문자열에 콤마(,) 붙이거나 삭제하기

[javascript] 문자열에 콤마(,) 붙이거나 삭제하기 updated_at: 2024-08-13 17:14

문자열에 콤마(,) 붙이거나 삭제하기

콤마 삭제하기

예제 1

function removeComma(str){
  var rtnstr="";
  if (str){
    for (var i=0; i<str.length; i++){
      if (str.charAt(i)!=","){
        rtnstr += str.charAt(i);
      }
    }
  }
  return parseInt(rtnstr);
}

예제2 - 정규식 이용

function removeComma(str){
  return str.replace(/[\,]/g, "")
}
function filterNum(str) { 
  re = /^\$|,/g; 
  return str.replace(re, ""); 
} 

콤마 붙이기

예제 1

function setComma(value) {//","컴마를 붙이기
  str = typeof(value) == 'number' ? value.toString() : value;
  var rtn = "";
  var val = "";
  var j = 0;
  x = str.length;
  
  for(i = x; i > 0; i--) {
    if(str.substring(i, i - 1) != ",") {
      val = str.substring(i, i - 1)+val;
    }
  }
  x = val.length;
  for(i = x; i > 0; i--) {
    if(j % 3 == 0 && j != 0) {
      rtn = val.substring(i, i - 1) + "," + rtn; 
    }else {
      rtn = val.substring(i, i - 1) + rtn;
    }
  j++;
  }
  return rtn;
}

예제 2

function commaSplit(srcNumber) { 
  var txtNumber = '' + srcNumber; 
  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]; 
  } 
}

input text 에 실시간 적용

사인기호 까지 포함하는 예제

  • html
<input type="text" onkeyup="this.value = add_comma(this.value)">
  • js
function add_comma(str)
{
  var number = '';

  if (!str) {
    return;
  }
  
  // 숫자면 문자열로 변경
  str = typeof(str) == 'number' ? str.toString() : str;
  // comma 를 제거한다.
  number = str.replace(/[\,]/g, "")

  // sign +, - 가 존재하면 이 부분은 별도로 빼둔다.
  var sign = number.match(/^[\+\-]/);
  if(sign) {
    number = number.replace(/^[\+\-]/, "");
  }

  // 숫자가 아닌 경우 삭제
  number = number.replace(/[^0-9]/g, "");
  number = setComma(number);

  if(sign != null)
    number = sign + number;

  return number;
}
평점을 남겨주세요
평점 : 5.0
총 투표수 : 1

질문 및 답글