2010-07-26 68 views

回答

4

試試這個:

document.getElementById('textarea_id').value.replace(/\n$/gm, '').split(/\n/).length; 

這將忽略空字符串(見@Sean維埃拉答案)

+0

+1更簡單的答案!非常好地完成。 – 2010-07-26 15:59:40

2
var my_data = document.getElementById("txt_area_in_question").value; 
alert("The total paragraphs in the text area are: "+ 
          my_data.split("\n\n").length)​;​​​ 

現在,這並沒有考慮到多換行沒有文字......這樣:

Some text 

Some more text 





Some more text 

將返回5而不是3

解決方案是刪除所有空白,並返回剩下的內容:

var my_data = document.getElementById("txt_area_in_question").value; 
my_data = my_data.split("\n\n"); 
var g = my_data.length; 
var i = 0; 
var strip_whitespace = /\s+/gi; 
while (g >=0) { 
    g--; 
    var tmp = my_data[g]; 
    tmp = tmp ? tmp .replace(strip_whitespace,"") : tmp; 
    if(tmp && tmp.length > 1) { 
     i++; 
    } 
} 
alert("The total paragraphs in the text area are: "+i)​;​​​​ //Will properly alert 3 

參見:http://jsfiddle.net/UBWpJ/

0

您可以通過拆分對(\n *\n)/g提高肖恩·維埃拉回答而不是隻是\n\n那麼你有沒有問題的段落之間的空格