http://oxtag.com/html/ex/figure→Hangeul.html
<script>
function errorMsg(errorNum){
switch (errorNum){
case 1:frm.num.value="";break;
}
}
function number_format(num){
num=num.split(",").join("")
var arr=num.split(".");var num=new Array();
for (i=0;i<=arr[0].length-1;i++){
num[i]=arr[0].substr(arr[0].length-1-i,1);
if(i%3==0 && i!=0) num[i]+=",";
}
num=num.reverse().join("")
if (!arr[1]) return num; else return num+"."+arr[1];
}
function num2won(val){
var num="";var won=new Array();
re=/^[1-9][0-9]*$/;num=val.toString().split(",").join("")
if(!re.test(num)) errorMsg(1)
var price_unit0=new Array("","일","이","삼","사","오","육","칠","팔","구");
var price_unit1=new Array("","십","백","천");
var price_unit2=new Array("","만","억","조","경","해","시","양","구","간","정");
for( i = num.length-1; i >= 0; i-- ){
won[i] = price_unit0[num.substr(num.length-1-i,1)];
if( i > 0 && won[i] != "" ) { won[i]+= price_unit1[i%4]; }
if( i % 4 == 0 ) { won[i]+= price_unit2[(i/4)]; }
}
for( i = num.length - 1; i >= 0; i-- ){
if( won[i].length == 2) { won[i-i%4]+="-"; }
if( won[i].length == 1 && i>0) { won[i]=""; }
if( i%4 != 0 ) { won[i] = won[i].replace("일",""); }
}
won = won.reverse().join("").replace(/-+/g," "); return won;
}
</script>
<form name='frm'>
<input type=text name='num' onkeyup='this.value=number_format(this.value);frm.displayhan.value=num2won(this.value);'>
입력
<input type=text name='displayhan' readonly style="border:0;" size="50">
</form>
<script>
function errorMsg(errorNum){
switch (errorNum){
case 1:frm.num.value="";break;
}
}
function number_format(num){
num=num.split(",").join("")
var arr=num.split(".");var num=new Array();
for (i=0;i<=arr[0].length-1;i++){
num[i]=arr[0].substr(arr[0].length-1-i,1);
if(i%3==0 && i!=0) num[i]+=",";
}
num=num.reverse().join("")
if (!arr[1]) return num; else return num+"."+arr[1];
}
function num2won(val){
var num="";var won=new Array();
re=/^[1-9][0-9]*$/;num=val.toString().split(",").join("")
if(!re.test(num)) errorMsg(1)
var price_unit0=new Array("","일","이","삼","사","오","육","칠","팔","구");
var price_unit1=new Array("","십","백","천");
var price_unit2=new Array("","만","억","조","경","해","시","양","구","간","정");
for( i = num.length-1; i >= 0; i-- ){
won[i] = price_unit0[num.substr(num.length-1-i,1)];
if( i > 0 && won[i] != "" ) { won[i]+= price_unit1[i%4]; }
if( i % 4 == 0 ) { won[i]+= price_unit2[(i/4)]; }
}
for( i = num.length - 1; i >= 0; i-- ){
if( won[i].length == 2) { won[i-i%4]+="-"; }
if( won[i].length == 1 && i>0) { won[i]=""; }
if( i%4 != 0 ) { won[i] = won[i].replace("일",""); }
}
won = won.reverse().join("").replace(/-+/g," "); return won;
}
</script>
<form name='frm'>
<input type=text name='num' onkeyup='this.value=number_format(this.value);frm.displayhan.value=num2won(this.value);'>
입력
<input type=text name='displayhan' readonly style="border:0;" size="50">
</form>
반응형
'인터넷정보' 카테고리의 다른 글
유니코드, 아스키코드 (0) | 2007.10.18 |
---|---|
첫번째 체크박스에서 두번째 체크박스를 제어하는 스크립트 (0) | 2007.10.18 |
첫번째 체크박스에서 두번째 체크박스를 제어하는 스크립트 (0) | 2007.10.18 |
체크된 라디오 값 가져오기 (0) | 2007.10.18 |
체크된 라디오 값 가져오기 (0) | 2007.10.18 |
아라비아 숫자를 한글로... (0) | 2007.10.18 |
인풋 태그에 글쓰기 (0) | 2007.10.18 |
인풋 태그에 글쓰기 (0) | 2007.10.18 |
새창(팝업) 가로/세로 크기 조절 (0) | 2007.10.18 |
새창(팝업) 가로/세로 크기 조절 (0) | 2007.10.18 |