2011-03-20 3 views
4

자바 스크립트 :Javascript/JQuery : 쉼표로 구분 된 단어를 어떻게 계산합니까?

$(document).ready(function() 
{ 
    $('#field').keyup(function() 
    { 
     var count = '??'; 

     $('#count').html(count); 
    }); 
}); 

HTML :

<input type="text" id="field" /> <span id="count">5</span> 

예 (즉 항상 쉼표로 구분) : 그래서

example 1: word, word word 
count: (5 - 2) = 3 

example 2: word 
count: (5 - 1) = 4 

example 3: word, word, 
count: (5 - 2) = 3 

example 4: word, word, word 
count: (5 - 3) = 2 

, 나는 거기 분리 얼마나 많은 단어를 계산해야 예를 들어 예 3과 같이 쉼표로 표시하면 3 단어로 계산해서는 안됩니다.은 쉼표 뒤에 단어가있을 때만 가능합니다.

사용자는 5 단어를 초과하여 입력 할 수 없습니다.

답변

8

뭔가 :

$("#input").keyup(function(){ 
    var value = $(this).val().replace(" ", ""); 
    var words = value.split(","); 

    if(words.length > 5){ 
     alert("Hey! That's more than 5 words!"); 
     $(this).val(""); 
    } 
}); 

jsFiddle 예 : http://jsfiddle.net/BzN5W/

편집 :

더 나은 예 : 내가 당신이 찾고있는 생각 http://jsfiddle.net/BzN5W/2/

$("#input").keypress(function(e){ 
    var value = $(this).val().replace(" ", ""); 
    var words = value.split(","); 

    if(words.length > 5){ 
     //alert("Hey! That's more than 5 words!"); 
     e.preventDefault(); 
    } 
}); 
+0

이제 작동합니다. 고맙습니다! –

+0

문제 없음;) 내 대답을 확인하는 것을 잊지 마십시오. – mattsven

+1

당연히 lol 아닙니다, 나는 다만 다시 1 분을 기다려야했다;) 다시 한번 감사드립니다! –

0

words.split(",").length은 원하는 것을 제공해야합니다. 여기서 words은 입력이 들어있는 문자열입니다. 같은

0

:

$('#field').keyup(function(e){ 
    var count = $(this).val().split(',').length; 
    $('#count').html(count); 
    if(count > 4) 
     e.preventDefault(); 
}); 
관련 문제