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

How can I achieve a limit character in jquery in this situation?

本文关键字:实现 字符 这种情况下 jquery      更新时间:2023-09-26

运行代码查看结果,它会将空格替换为'-'。我想在两个文本之间只实现一个"-",就像"好日子",但不是好日子。因此,我想知道如何在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" />

这是因为当你进入一个空间时,它会被-取代,然后当你进入另一个空间(前一个空间已经被-取代),所以你有了-<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" />