现在我的代码可以删除额外的空格,但似乎搞乱了新行。如果输入中有多个中断,则会删除所有换行符。例如:
输入:
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
。
答案 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, ' '));