删除jQuery中的空格

时间:2013-03-24 04:01:00

标签: javascript regex

现在我的代码可以删除额外的空格,但似乎搞乱了新行。如果输入中有多个中断,则会删除所有换行符。例如:

输入:

abc    xyz

test

输出:

abc xzy test

理想情况下,我希望输出为:

abc xyz

test

代码:

var input   = $('textarea#input');
var output  = $('textarea#output');

input.bind('keyup', function() {
    output.val(input.val().replace(/(\s){2,}/g, ' '));
});

jsFiddle http://jsfiddle.net/rdvR7/3/

我还想留意,但还没弄清楚如何使用\t

2 个答案:

答案 0 :(得分:4)

您可以使用字符类来仅替换空格。

 output.val(input.val().replace(/[ ]{2,}/g,' '));

这只会找到空格,而不是制表符和换行符。您还可以在括号内放置任意字符组合

 output.val(input.val().replace(/[ \t]{2,}/g,' '));

这将找到所有空格和所有制表符。

答案 1 :(得分:0)

只需替换空格字符(在正则表达式中表示自己):

output.val(input.val().replace(/ {2,}/g, ' '));