2013-03-24 257 views
3

現在我的代碼能夠刪除額外的空間,但它似乎搞亂了新的線。如果輸入中有多箇中斷,它將刪除所有換行符。例如:刪除jQuery空白

輸入:

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, ' ')); 
}); 

的jsfiddlehttp://jsfiddle.net/rdvR7/3/

我也想保持標籤,但還沒有想出如何使用\t

回答

4

您可以使用字符類來替換空格。

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

這隻會查找空格,而不是製表符和換行符。你也可以把任何字符組合在括號內

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

這將查找所有空格和所有制表符。

+0

打我我的答案。這裏是jsFiddle http://jsfiddle.net/rdvR7/6/ – DACrosby 2013-03-24 04:16:01

0

只需更換空格字符(代表本身正則表達式):

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