2013-10-02 1 views
0

숫자와 마침표 및 콜론 만 입력 할 수 있도록 입력 텍스트 필드에 입력 할 수있는 문자를 제한하고 싶습니다. 따라서 다른 사람이 입력하면 표시되거나 등록되지 않습니다. IP 주소 예 : 10.200.66.106:8888입력을 jQuery의 마침표, 숫자 및 세미콜론으로 제한하려면 어떻게합니까?

jQuery에서 어떻게 구현할 수 있습니까?

나는 jsFiddle에서 약간의 예를 작성했습니다 : http://jsfiddle.net/6xMxs/

HTML :

<div id="outer"> 
    <div id="inner"> 
      <p>IP Address:</p> 
     <p class="edit">2323</p> 
    </div> 
<div> 

jQuery를 :

$(document).ready(function() { 
$('.edit').editable('ipaddress/update',{ 
    type  : 'textarea', 
    cancel : 'Cancel', 
    submit : 'OK',   
    tooltip : 'Click to edit...' 
}); 

});

+0

가능한 복제본 [캡처 된 그룹과 IP 주소 및 포트 번호가 일치하는 Java 정규식] (http://stackoverflow.com/questions/2908740/java-regex-matching-ip-address-and-port-number-as- 캡처 된 그룹) – melancia

+0

_ "및 세미콜론 ... 예 : 10.200.66.106:8888"_ - 콜론은 의미하지만 세미콜론이 아닙니다. – nnnnnn

답변

0

jquery의 alphanumeric plugin을 사용하면 그렇게 할 수 있습니다. 요소에 클래스를 추가하십시오.

$(".myclass").numeric({allow:"."}); 
+1

링크하는 영숫자 플러그인은 실제로 작동하지 않습니다. 즉, 사용자가 클립 보드 붙여 넣기 또는 drag'n'drop을 통해 유효하지 않은 문자를 입력하는 것을 중지하지 않습니다. – nnnnnn

+0

지금 플러그인을 사용하고 있습니다. 사용자가 복사하여 붙여 넣기하는 것을 제한합니다. –

+0

@ JohnathanAu - 붙여 넣기를 제한하지 않고 컨텍스트 메뉴를 비활성화하기 때문에 편집 메뉴 나 키보드를 통해 붙여 넣을 수 있습니다. – nnnnnn

0

당신은 제거 할 수 없습니다-허용되는 문자 :

<input id="ip" type="text" /> 



$(document).ready(function() { 

    $('#ip').keyup(function() { 
     var el = $(this), 
      val = el.val(); 

     el.val(val.replace(/[^\d\.]/gi, "")); 
    }).blur(function() { 
     $(this).keyup(); 
    }); 
}); 

Working fiddle

그러나 더 나은 방법이있다, 할 수 있습니다 예를 들어, 완전히 "블록"원치 않는 문자의 진입. 그리고 서버 측 유효성 검사가 수행되지 않을 때 이러한 제한을 쉽게 피할 수 있습니다.

또한 컨텍스트에서 알 수 있듯이 html5 attribute pattern은 html5 브라우저에서만 작동합니다.

관련 문제