我正在尝试使用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>
是否有必要在客户端上修剪它?如果很重要,那么您还是需要在发球中进行,因此您可以将其留在那里。