[php] 금액 부분 콤마 표시하기
입력창에서 금액 입력시 3자리마 콤마를 표시 하는 자바 스크립트입니다.
소스는 다음과 같습니다.
// ###### 금액 부분 콤마 표시 ##########
<html>
<head>
<script>
function add_dot(obj) {
var data1=obj.value;
var data2=data1.split(‘,’);
var data_length=data2.length;
var data3 =”;
var data4 =”;
if (data_length == 1) data3 =data2[0];
else {
if (data2[data_length-1] == ”) {
for(j=0; j < data_length-1 ; j++) data3 += data2[j];
}
if (data2[data_length – 1] != ”) {
for(i=0; i < data_length; i++) data3 += data2[i];
}
}
data3_size=data3.length;
if (data3_size >=4) {
var cnt1 = parseInt((data3_size-1) / 3);
var cnt2 = data3_size – cnt1 * 3;
data4 = data3.substring(0,cnt2);
data4 += ‘,’;
var first = cnt2;
for (i=0;i< cnt1;i++) {
data4 += data3.substring(first,first+3);
if (i != cnt1-1) data4 += ‘,’;
first = first+3;
}
obj.value=data4;
} else {
obj.value=data3;
}
}
</script>
</head>
<body>
<form name=”form2″ action=”./action.php”>
<input type=”text” name=”price”
onKeyUp=”add_dot(this)”>만원
<input type=”submit” value=”확인”>
</body>
</html>
action.php 파일에서 해당 금액을 DB에서 저장시 위 금액변수의 타입은 숫자가 아닌
문자로 인식하기 때문에 입력된 콤마를 제거 해주어야 한다.
제거하는 방법은 다음과 같다.
파일명 action.php
<?
// 금액 콤마 없애기 ############################################
function dot_remove($str) {
$val_str = explode(“,”,$str);
while (list($key,$val)=each($val_str)) {
$val_ret = $val_ret.$val;
}
return $val_ret;
}
$price = dot_remove($price);
?>