2014-09-23 2 views
-1

내가 사용자가 최대 4오래 누르면 어떤 키를 방지하는 방법 JQuery와

EXMP을 할 수있는 키 continuously..it를 누르면 안에서 user.like 입력 제한하려고 :

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa을 전 이제 모든 글자에 대해 이와 같이 4 개의 aaaa 뒤에 입력을 받아들이지 않아야합니다. 코드 아래

+0

너는 꼭 필요한 것은 아니다. 텍스트 입력 길이를 제한하는 javascript 또는 jQuery. 텍스트 요소의 maxlength 속성을 원하는 값으로 설정할 수 있습니다.이 경우 maxlength = "4"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input – Lbatson

+0

He 최대 길이를 설정하려고하지 않고 그냥 4 번 이상 반복 문자를 중지, 내 생각 엔 – Michael

+0

당신은 정규식 keydown 이벤트를 사용하여 입력의 유효성을 검사해야합니다. 정규식 예제 :/^ [a] {4}/ – DinoMyte

답변

2

$(document).ready(function(){ 
 
    var flag=0; 
 
    $("#txt").on('keydown',function(e){ 
 
    flag++; 
 
    if(flag>4){          
 
     e.preventDefault(); 
 
    } 
 
    }); 
 
    $("#txt").on('keyup',function(e){  
 
    flag=0;    
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<input type="text" id="txt">

+1

'$ ("# txt") .val ($ ("# txt"). e.preventDefault();'나는 이것을 upvote 줄. –

+0

@DanielCook yah 코딩 스타일을 향상시킵니다. –

+0

@ Nandha Nice.. 감사합니다. – Nishanthd

0

이 시도 도움이 될 것입니다. 할 수있는 가장 우아한 방법은 아닐 수도 있지만 효과가 있습니다.

마크 업 :

<input type="text" id="txt1" onkeypress="CheckCharacters();" /> 

스크립트 :

function CheckCharacters() 
{   
    var occurancesToCheck = 4; 
    var chars = $("#txt1").val().substring($("#txt1").val().length - occurancesToCheck, $("#txt1").val().length); 
    if (/^(.)\1+$/.test(chars) && chars.length == occurancesToCheck) 
    { 
    event.preventDefault ? event.preventDefault() : event.returnValue = false; 
    } 
} 
0

이 정말 신속하고 더러운이지만, 여기 (정규 표현식을 통해) 작업 예제 :

$('#tester').on('keydown', function(e) { 

    // Check if the last four characters are the same... 
    if(/(.)\1{3,}/.test($(this).val())) { 

     // Only allow next character if it isn't the same... 
     if (/(.)\1{4,}/i.test($(this).val() + String.fromCharCode(e.keyCode))) { 
      e.preventDefault(); 
     }   
    } 
}); 

http://jsfiddle.net/L71echj8/