2010-04-06 6 views
0

제품의 일련 번호를 입력하라는 웹 사이트가 있습니다.jquery serial format

나는 하나의 텍스트 상자를 가지고 사용자가이 형식의 시리얼 입력해야 :

xx:xx:xx:xx:xx:xx 

매 2 개 문자 후 :를 입력합니다 구성 요소가 거기를?

아니면 텍스트 상자를 6 개의 텍스트 상자로 분할해야합니까?

다른 방법이 있습니까?

답변

6

this jquery plugin, 실제로 마스크 된 편집 상자 일 수도 있고 패턴을 설정하고 입력을 준수 할 수 있어야합니다. 데모 탭을 확인하는 것이 좋습니다. 시리얼이 숫자 입력을 요구하는 경우, 물론

jQuery(function($){ 
    $("#serial").mask("99:99:99:99:99:99",{placeholder:"_"}); 
}); 

을 대신 9*를 사용

코드

구현하기 매우 간단한데, 당신이 될 것입니다.

http://digitalbush.com/projects/masked-input-plugin/#demo

또는 당신이 6 입력 상자를 사용할 수, 나는이 전에 수행하고 꽤 좋은 볼 수 보았다, 그 아래로 개인적인 취향을 것 같다.

0

jQuery에 대한 마스크 플러그인을 사용할 수 있습니다. Maybe this?

2

플러그인이 오버 헤드가되는 경우 jQuery에서 매우 간단하게 작성할 수 있습니다.

나는 값 (콜론 벗겨) 2로 나눌 경우 확인 구현 조롱하고,이 경우에는, 값 콜론 추가 :

$(document).ready(function() { 

    $('#serial').keyup(function() { 
    var $this = $(this); 
    if($this.val().replace(/:/g, '').length % 2 == 0) { 
     if($this.val().length >= 17) return; 
     $this.val($this.val() + ':'); 
    } 
    }); 

});​ 

Working example

+0

을 +1, 나는 항상 마스크 된 편집 상자 플러그인이 많이 남겨져 있다는 것을 알았습니다. 이와 같은 간단한 대안을 보는 것이 좋습니다. –

+0

충분한 마스크가 달린 편집 상자는 항상 깨진 편집 내용이 아니지만 작업 예제가 작동하지 않습니다. Chrome을 사용하고 있으며 3자를 입력하면 백 스페이스를 사용하여 ':'을 삭제하고 다시 입력합니다. –

+0

나는 backspace를 유지함으로써이 문제를 해결할 수 있지만 값의 맨 앞에서':'를 놓을 수는 없다. 또한 텍스트 상자의 전체 값을 선택하려고하면 여러 개의': '문자가 표시됩니다. 이 솔루션은 아직 갈 길이 멀다. –

관련 문제