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

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

QA

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

본문

  <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>
답변을 작성하시기 전에 로그인 해주세요.
전체 935
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT