2016-09-24 131 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>