본문 바로가기
IT/인터넷

입력한 금액을 한글로 바꾸는 스크립트

by 日常 2010. 11. 7.

은행에서 많이 쓰는 스크립트죠 ^^

function convertAmt(amt, txtbox){

var frm = document.TransferForm;

amt = replace(amt,",","");
arrayAmt = new Array("일", "이", "삼", "사", "오", "육", "칠", "팔", "구", "십");
arrayPosi = new Array("", "십", "백", "천");
arrayUnit = new Array("", "만", "억", "조");

if(!isNumComma(amt)) // 숫자와 콤마가 아니면 리턴
  return;


posi = amt.length%4 //자리수
len = (amt.length/4).toString()

if(len.indexOf(".")>0){
  unit = len.substring(0, len.indexOf(".")) //단위(0:일단위, 1:만단위...)
}else{
  unit = amt.length/4-1
}

var korAmt = ""
op=0
for(i=0; i<amt.length; i++){
  if(posi==0){
   posi=4
  }
  num = parseInt(amt.substring(i, i+1))
  if(num!=0){
   korAmt += arrayAmt[num-1]
   korAmt += arrayPosi[posi-1]
   op=1
  }
  if(posi==1){
   if(op==1){
    korAmt += arrayUnit[unit]
   }
   unit--
   op=0
  }
  posi--
}
txt = eval("TransferForm." + txtbox)

if (korAmt.length==0 || korAmt.length==null || amt.length>13){
  frm.charAmt.value = "";
} else {
  frm.charAmt.value = "("+korAmt+"원)";
}
}



function numCheck(strValue, str){
var ascii;
for( i = 0; i < strValue.length; i++){
  ascii = strValue.charCodeAt(i);
  if ( !( (33 <= ascii && ascii <= 39 )
     || (42 <= ascii && ascii <= 47 )
     || (58 <= ascii && ascii <= 64 )
     || (91<= ascii && ascii <= 96 )
     || (123 <= ascii && ascii <= 126) )) {
  }else {
   alert(str + "에 허용하지 않는 문자를 입력 하였습니다.\r\n\r\n한글,영문자,숫자만 가능합니다.!!");
  return true;
  }
}
return false;
}
반응형

댓글