在这种情况下如何在jquery中实现限制字符?

时间:2015-03-04 05:57:14

标签: javascript jquery

运行代码查看结果,它将用' - '替换空格。我想只实现一个' - '在两个文本之间,比如“好日子”,但不是很好----天。因此,我想知道如何在jquery中的单词之间仅限制一个。



$('#tag').on("keydown",function(event){
var $input = $('#tag');	
     $input.val(function(_,v){
return v.replace(/\s+/g,'-');
     });// '-'repace space
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="tag" />
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:4)

这是因为当您输入空格时,它会被-替换,然后当您输入另一个空格时(前一个空格已被-替换),因此您拥有-<space>现在,新空间再次被-替换,因此您获得了--

$('#tag').on("keydown", function(event) {
  $(this).val(function(_, v) {
    return v.replace(/[\s-]+/g, '-');
  }); // '-'repace space
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="tag" />