写作时如何删除/修剪空间或选项卡



我正在尝试使用JavaScript(在jQuery中)修剪字符串:

$(document).on('keydown', "input[type='text'], textarea", function(e) {
            $(this).val( $(this).val().trim() );
            console.log('fixing');
        //if ($(this).val() == "") {
            //alert('gwo!');
        //}
    } );

但是,这里的问题是用户写一个写另一个单词的空间时,此代码将输入中的数据修剪,下一个单词是串联的,例如:

我是bigandgreat

真正需要的是使用剪贴板的CTRL V文本删除选项卡或空格。

您可以帮忙吗?

我认为这就是您所需要的。寻找重复的太空炭。保留最后一个并删除其他。string.tage with Regexp可以处理此操作。

我也使用了键盘事件,而不是键盘

$(document).on('keyup', "input[type='text'], textarea", function(e) {
  let val = $(this).val();
  val = val.replace(/(?:^s+|s+?(s))(S+)/g, "$1$2");
  val = val.replace(/s+(s)$/, "$1"); 
  $(this).val( val );
 } );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea cols="40" rows="10"></textarea>

是否有必要在客户端上修剪它?如果很重要,那么您还是需要在发球中进行,因此您可以将其留在那里。

最新更新