繁体   English   中英

书写时如何删除/修剪空格或制表符?

[英]How to remove/trim spaces or tabs while writing?

我正在尝试在用户编写时使用JavaScript(在jQuery中)修剪String:

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

但是这里的问题是,当用户写一个空格来写另一个单词时,此代码将修剪输入中的数据,然后将下一个单词串联起来:

我很伟大

确实,我需要在用户使用剪贴板中的CTRL + V进行文本发送时删除选项卡或空格。

你能帮我吗?

我认为这就是您所需要的。 寻找重复的空格字符。 保存最后一个,然后删除其他。 使用RegExp的String.replace可以处理此问题。

我也使用keyup事件而不是keydown

 $(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> 

甚至有必要在客户端上进行修剪吗? 如果很重要,那么无论如何您都需要在发球区上做,所以您也许可以将其留在那里。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM