2014. 7. 31. 10:52 IT/jquery_javascript
javascript 금액을 한글로 표시하기.
<script type="text/javascript">
/* 금액 한글배열 */
var nString = new Array();
nString[0] = "";
nString[1] = "일";
nString[2] = "이";
nString[3] = "삼";
nString[4] = "사";
nString[5] = "오";
nString[6] = "육";
nString[7] = "칠";
nString[8] = "팔";
nString[9] = "구";
/* 금액단위 한글배열 */
var nbString = new Array();
nbString[0] = "";
nbString[1] = "";
nbString[2] = "십";
nbString[3] = "백";
nbString[4] = "천";
nbString[5] = "만";
nbString[6] = "십";
nbString[7] = "백";
nbString[8] = "천";
nbString[9] = "억";
nbString[10] = "십";
nbString[11] = "백";
nbString[12] = "천";
nbString[13] = "조";
nbString[14] = "십";
nbString[15] = "백";
nbString[16] = "천";
function NumberString(obj) {
var nStr = document.getElementById("nStr");
var str = obj.value;
var strCode = "";
var codeStr = "";
var nHan = "";
var cnt = 0;
/* 천조이상이면 */
if (str.length > 16) {
//alert("한글 표현은 천조 이하에 금액까지 가능합니다.");
//경고창 후 마지막 입력값 제거 필요 귀찮아서 안함!! ㅡㅡ;
return false;
}
/* 뒷자리부터 루프 */
for (var i = str.length; i > 0; i--) {
/* 유니코드 구하기 */
strCode = str.charCodeAt(i - 1);
/* 숫자가 맞다면 */
if (strCode >= 48 && strCode <= 57) {
cnt++; // 단위계산을 위해 카운팅
codeStr = Number(String.fromCharCode(strCode)); // Number형으로
if (codeStr != 1) {
if (codeStr == 0) {
if (cnt / 5 == 1) { // 만단위표현
nHan = nbString[5] + nHan;
} else if (cnt / 9 == 1) { // 억단위표현
nHan = nbString[9] + nHan;
} else if (cnt / 13 == 1) { // 조단위 표현
nHan = nbString[13] + nHan;
}
} else {
/* 0이 아니면 입력값에 한글과 단위 */
nHan = nString[codeStr] + nbString[cnt] + nHan;
}
} else if (codeStr == 1 && i == str.length) {
/* 1이고 마지막입력값이면 한글 일 표현 */
nHan = nString[codeStr] + nHan;
} else {
if (codeStr == 1 && i == 1 && (cnt == 9 || cnt == 13)) {
/**
* 입력값이 1이고 첫입력값이며 단위가 억이거나 조이면
* 예) 일억 또는 일조
* 억이하 단위에선 일을 표현안되기 때문에 일백만원을 백만원 일십만원을 십만원으로 표현되고
* 억, 조 단위는 일억원 일조원 으로 표현하기 위해
*/
nHan = nString[codeStr] + nbString[cnt] + nHan;
} else {
nHan = nbString[cnt] + nHan;
}
}
/* 단위표현에서 억만, 조억에 두번째 단위 제거 (이거 때문에 삽질했네..) */
nHan = nHan.replace('억만', '억').replace('조억', '조');
} else {
//alert("숫자로 입력하세요.");
//경고창 후 마지막 입력값 제거 필요 귀찮아서 안함!! ㅡㅡ;
return false;
}
}
nStr.innerHTML = nHan + "원";
}
</script>
'IT > jquery_javascript' 카테고리의 다른 글
동적 생성 객체 이벤트 할당 (0) | 2014.08.05 |
---|---|
jquery 테이블 높이 구하기. Table height 구하기. (0) | 2014.07.31 |
jquery 동적 이벤트(dynamic event). ㅋㅋ 맞나? (0) | 2014.06.23 |
jquery 숫자만 입력 가능 정규식 (1) | 2014.05.22 |
javascript에서 숫자를 문자로 ... 문자를 숫자로 변경 (0) | 2014.05.14 |