1.데모
2.소스
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>금액 한글표시</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function InputMoney(input,obj){
str = input.value;
str = unComma(str);
MoneyToHan(str,obj)
str = Comma(str);
input.value = str;
}
function MoneyToHan(str,obj){
arrayNum=new Array("","일","이","삼","사","오","육","칠","팔","구");
arrayUnit=new Array("","십","백","천","만 ","십만 ","백만 ","천만 ",
"억 ","십억 ","백억 ","천억 ","조 ","십조 ","백조");
arrayStr= new Array()
len = str.length;
hanStr = "";
for(i=0;i<len;i++) { arrayStr[i] = str.substr(i,1) }
code = len;
for(i=0;i<len;i++) {
code--;
tmpUnit = "";
if(arrayNum[arrayStr[i]] != ""){
tmpUnit = arrayUnit[code];
if(code>4) {
if(( Math.floor(code/4) == Math.floor((code-1)/4)
&& arrayNum[arrayStr[i+1]] != "") ||
( Math.floor(code/4) == Math.floor((code-2)/4)
&& arrayNum[arrayStr[i+2]] != "")) {
tmpUnit=arrayUnit[code].substr(0,1);
}
}
}
hanStr += arrayNum[arrayStr[i]]+tmpUnit;
}
obj.value = hanStr;
}
function isNumObj(obj)
{
for (var i = 0; i < obj.value.length ; i++){
chr = obj.value.substr(i,1);
chr = escape(chr);
key_eg = chr.charAt(1);
if (key_eg == 'u'){
key_num = chr.substr(i,(chr.length-1));
if((key_num < "AC00") || (key_num > "D7A3")) {
event.returnValue = false;
}
}
}
if (event.keyCode >= 48 && event.keyCode <= 57) {
} else {
event.returnValue = false;
}
}
function Comma(num) {
re = /(\d+)/;
if(re.test(num)){
re.exec(num); num = RegExp.$1;
re = /(\d+)(\d{3})/;
while(re.test(num)){ num = num.replace(re,"$1,$2"); }
}
return (num);
}
function unComma(str) {
return str.replace(/,/g,"");
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<font size=2 face=돋움>
<form name=f1>
<b>금액 : <input type=text name=MONEY size=20 maxlength=15
style="text-align:right;"
onKeyPress="isNumObj(this);"
onKeyUp="InputMoney(this,document.f1.HMONEY);">
[ <input type=text name=HMONEY
style="border:0px;background-color:#ffffff;text-align:right;color:
#FF0033"
readonly size=25> 원 ]
</b>
</form>
</font>
</BODY>
</HTML>