아주 간단한 팁입니다..
아무리 찾아봐도 나오질 않아 처음으로 팁을 올려보네요..
직거래 게시판으로 쓰면 여러 형태로 가격을 입력하는데 특정문자를 제한하고 숫자만 입력 받아
자동으로 1,000 과 같이 천단위로  ,(콤마) 표시를 해줍니다.


사용자 삽입 이미지

1) 가격 천단위 , 표시하기

현재 애견호텔 서비스 스킨에 적용된 가격 변수에 아래와 같이 number_format() 함수를
적용하면 숫자 입력시 자동으로 , 가 표시 됩니다.
view.php list_main 등에 적용하면 되겠죠?

$price1= number_format($subject6);


2) 특수문자 입력 제한

하지만 사용자가 임의로 1,000  콤마를 추가하여 입력하면 가격표시가 1로 나타나게 되기 때문에
숫자 입력만을 요구 해야합니다.

따라서 write.php 에 아래와 같이 함수를 추가해 주고  

<script>
<!--
function price_check() {
       var i
       var price_reg = '<>?/\\+=-_)(*&^%$#@!.,;:\{\}[]\"\'\`\~\|'
       regstr = price_reg
          var regid = write.subject6
               if (regstr.length > 1) {
               for(i=0;i<regid.value.length;i++) {
                       if(regstr.indexOf(regid.value.substring(i,i+1)) >=0) {
                               alert('가격은 숫자만 입력하세요!');
                               regid.value = ''
                               regid.focus();
                               return false;
                       }
               }
       }
             
}
// -->
</script>

해당 input 입력창에 아래와 같이 onBlur="price_check();" 를 추가해주면 됩니다..

<input type=text name=subject6 value="<?=$subject6?>" <?=size(30)?> maxlength='10' style=width:100  class=input onBlur="price_check();"> 원 </td>

----------------------------------------------------------------------------------
숫자만 들어가게 하는 또 다른 방법...

function onlynum(e) {
if (e.keyCode == 13) {
return;
}
if (e.keyCode < 48 || e.keyCode > 57)
e.returnValue = false;
}

위 함수를 적절한곳에 넣어 주시고,

input 폼 안에 아래 항목을 추가해주세요.

onkeypress="onlynum(event)" style="ime-mode:disabled"

+ Recent posts