input 4자리 숫자로만 입력받기

input 4자리 숫자로만 입력받기

QA

input 4자리 숫자로만 입력받기

답변 1

본문

  <span>-
      <input type="number" max="9999" maxlength="4" oninput="maxLengthCheck(this)" name="midhp"/>
    </span>
    <span>-
      <input type="number" max="9999" maxlength="4" oninput="maxLengthCheck2(this)" name="lasthp"/>
    </span>
    <script>
    //maxlength 체크
    function maxLengthCheck(object){
      if (object.value.length > object.maxLength){
       object.value = object.value.slice(0, object.maxLength);
        }
     }
   </script>
   <script>
   //maxlength 체크
   function maxLengthCheck2(object){
     if (object.value.length > object.maxLength){
      object.value = object.value.slice(0, object.maxLength);
       }
    }
  </script>

 

휴대폰 번호 입력하게 할건데요

크롬은 되는데 익스에서 마지막이 에러가 나네요

이 질문에 댓글 쓰기 :

답변 1

음... input에 maxlength를 넣으셧는데 굳이 또 javascript에서 maxlength 값을 불러와서 비교한 뒤

잘라낼 이유가 있을까... 싶습니다만...

그리고 함수를 두개로 하실 필요는 없으시구요...

일단 숫자만 입력하게끔 하는 javascript를 추가해서 다음과 같이 한번 해보세요.


<span>-<input type="number" max="9999" maxlength="4" oninput="maxLengthCheck(this)" onkeyup="onlynumberic(event)" name="midhp"/></span>
<span>-<input type="number" max="9999" maxlength="4" oninput="maxLengthCheck(this)" onkeyup="onlynumberic(event)" name="lasthp"/></span>
<script>
//maxlength 체크
function maxLengthCheck(object){
    if (object.value.length > object.maxLength){
        object.value = object.value.slice(0, object.maxLength);
    }
}
//숫자만남기고제거
function onlynumberic(event) {
    event.target.value = event.target.value.replace(/[^0-9]/g, "");
}
</script>
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 944
© SIRSOFT
현재 페이지 제일 처음으로