2016-09-24 14 views
0

Я работаю над предельными тегами, поэтому max будет 5, но для этого теста я буду использовать 2, однако в конце строки есть дополнительная запятая слева при попытке добавить еще одну тег больше максимально допустимого. Как удалить эту запятую?удалить дополнительную запятую в конце строки

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

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

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

DEMO:http://jsfiddle.net/BzN5W/2/

+0

Возможный дубликат [RTrim в JavaScript] (http://stackoverflow.com/questions/8791394/rtrim-in-javascript) – Rasclatt

ответ

1

Вот, попробуйте это:

$("#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!"); 

    $('#input').val($('#input').val().substring(0, $('#input').val().length-1)); 
     e.preventDefault(); 
} 

});

+0

Как добавить еще одну строку под ним, чтобы предотвратить добавление большего количества ключевых слов в начало –

+0

Как я могу добавить код, чтобы он не вводил больше ключевых слов в –

0
$("#input").keypress(function(e){ 
    var value = $(this).val().replace(" ", ""); 
    var words = value.split(","); 
    if(words.length > 5){ 
     $(this).val(value.slice(0,value.length-1)) 
     e.preventDefault(); 
    } 
}); 
0

Попробуйте это:

$("#input").keydown(function(e){ 
 
     if(e.which === 188 && ($(this).val().match(/,/g) || []).length ==4){ 
 
     e.preventDefault(); 
 
     } 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<body> 
 
    <input id="input" type="text" /> 
 
</body>

Смежные вопросы