删除该行末尾的额外逗号

时间:2016-09-24 20:20:57

标签: javascript

我正在努力限制标签,因此max将为5但是对于此测试我将使用2但是,在该行的末尾,当尝试添加超过max-allowedable的另一个标签时,还有一个额外的逗号。如何删除该逗号?

    <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/

3 个答案:

答案 0 :(得分: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();
}

});

答案 1 :(得分: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();
   }
});

答案 2 :(得分: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>