2016-08-01 156 views
0

首先,我嘗試了我在這裏找到的所有可能的解決方案或Google,但似乎沒有人爲我工作。使用jQuery從textarea中刪除空行

要清楚,我需要刪除文本區域中的每個空行。 這是我迄今所做的:

<textarea name="text" class="form-control" rows="14" id="text" placeholder="Here goes our query" ></textarea> 


$(document).ready(function() { 
    $('#text').focusout(function() { 
     var text = $('#text').val(); 

     text.replace(/(\r\n|\n|\r)/gm,""); 

     alert('done'); 
    }); 
}); 

我得到最終成功的警報,但這些空行仍然存在。正則表達式正確嗎? 我對js的知識並不大,所以我需要幫助:(

+1

參見[* JavaScript的:*如何使用正則表達式從字符串中刪除空行?(HTTP://計算器.com/questions/16369642/javascript-how-to-use-a-regular-expression-to-remove-blank-lines-from-a-string)and [*無法用Javascript代替textarea中的空行換行方法*](http://stackoverflow.com/questions/13205169/cant-remove-empty-line-break-in-textarea-with-javascript-replace-method)。另外,[* jquery text()。replace('','')not working *](http://stackoverflow.com/questions/28025944/jquery-text-replace-not-working)。 –

回答

3

http://www.w3schools.com/jsref/jsref_replace.asp

的replace()方法搜索指定的值,或正則表達式的字符串,並返回一個新字符串其中指定的值替換。

所以你實際上並沒有改變textarea的價值。

您可以使用

$(document).ready(function() { 
    $('#text').focusout(function() { 
     var text = $('#text').val(); 
     text = text.replace(/(?:(?:\r\n|\r|\n)\s*){2}/gm, ""); 
     $(this).val(text); 
    }); 
}); 

The regex is from here.

0

你可以嘗試這樣的:

$(document).ready(function() { 
    $('#text').focusout(function() { 
     var text = $('#text').val(); 

     var modifiedtext=text.replace(/ /g, ""); 
     $(this).val(modifiedtext); 
     alert('done'); 

    }); 
}); 
+0

這兩種解決方案都有一個竅門。謝謝。 :-) – fugitive