테스트 사이트 - 개발 중인 베타 버전입니다

전화 번호 입력시 숫자 0이 입력 안됨 채택완료

벛꽃꿀오소리 4년 전 조회 1,879

이용자로 부터 전화번호만 입력을 받는 칸인데요. 1 ~ 9 까지는 잘 입력이 되는에 0 만 입력이 안됩니다.

 

 <input type='text' name='htel2' id="tel2" size='4' maxlength='4' class='txt'  onKeydown='javascript:handlerNum(this)' required /> <label for="tel2"> - </label>

              <input type='text' name='htel3' id="tel3" size='4' maxlength='4' class='txt'  onKeydown='javascript:handlerNum(this)' required /><label for="tel3">- </label>

 

input 에서 text 숫자를 입력 받습니다. javascript - handlerNum(this) 에서 입력 되는게 숫자 인지 아닌지를 판단합니다.

 

function handlerNum(obj) { 

  e = window.event; //윈도우의 event 잡기

  

 

  //입력 허용 키

  if( ( e.keyCode >=  48 && e.keyCode <=  57 ) ||   //숫자열 0 ~ 9 : 48 ~ 57

      ( e.keyCode >=  96 && e.keyCode <= 105 ) ||   //키패드 0 ~ 9 : 96 ~ 105

        e.keyCode ==   8 ||    //BackSpace

        e.keyCode ==  46 ||    //Delete

        //e.keyCode == 110 ||    //소수점(.) : 문자키배열

        //e.keyCode == 190 ||    //소수점(.) : 키패드

        e.keyCode ==  37 ||    //좌 화살표

        e.keyCode ==  39 ||    //우 화살표

        e.keyCode ==  35 ||    //End 키

        e.keyCode ==  36 ||    //Home 키

        e.keyCode ==   9       //Tab 키

    ) {

  

    if(e.keyCode == 48 || e.keyCode == 96) { //0을 눌렀을경우

      if ( obj.value == "" || obj.value == '0' ) //아무것도 없거나 현재 값이 0일 경우에서 0을 눌렀을경우

        e.returnValue=false; //-->입력되지않는다.

      else //다른숫자뒤에오는 0은

        return; //-->입력시킨다.

      }

 

    else //0이 아닌숫자

      return; //-->입력시킨다.

    }

    else //숫자가 아니면 넣을수 없다.

 {

  alert('숫자만 입력가능합니다.!');

  e.returnValue=false;

 }

}

 

인터넷에 비슷한 코드가 있어서 봐꿔서 해보았는데요 안되네요. ㅜㅜ

뭐가 문제인가요?

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
식쏭
4년 전

 if ( obj.value == "" || obj.value == '0' ) //아무것도 없거나 현재 값이 0일 경우에서 0을 눌렀을경우

        e.returnValue=false; //-->입력되지않는다.

이부분 때문이네요

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

벛꽃꿀오소리
4년 전
답변 감사합니다.
알려주신 부분 수정 하니까 바로 되네요 감사합니다 ^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인