2016-02-12 41 views
0

我在代碼中找到了刪除textarea內部多餘的空格。它工作正常,但它並沒有刪除所有行內textarea中的額外空格。我想在javascript中單擊一次,刪除所有行的額外空白。請幫我解決這個問題。使用javascript刪除textarea中的多餘空格

這是代碼。

<textarea class="input" name="input" type="text" id="txt" style="height: 250px;width: 450px;" placeholder="One Per Line"></textarea> 
<input type="button" name="submit1" value="Clear Extra Space" id="run1"/> 

的Javascript:

<script> 
$(document).ready(function() { 
$('#run1').click(function() { 
var textarea=$('#txt'); 
textarea.val(textarea.val().replace(/(^\s*)|(\s*$)/gi,"")); 
textarea.val(textarea.val().replace(/[ ]{2,}/gi," ")); 
textarea.val(textarea.val().replace(/\n /,"\n")); 
}); 
}); 
</script> 

回答

0

改變你的點擊事件處理程序,demo here

$('#run1').click(function() { 
    var textarea=$('#txt'); 
    var rows = textarea.val().split("\n"); 
    console.log(rows); 

    for (var counter = 0; counter < rows.length; counter++) 
    { 
     rows[ counter ] = rows[ counter ].trim(); 
     if (rows[ counter ].length == 0) 
     { 
      rows.splice(counter, 1); 
      counter--; 
     } 
    } 
    textarea.val(rows.join("\n")) 
});