javascript 中的段落

问题描述 投票:0回答:4

你知道是否有一种简单的方法可以只使用 javascript 来计算文本区域中的段落数?

谢谢,

javascript count paragraphs
4个回答
5
投票

试试这个:

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

这将忽略空字符串(请参阅@Sean Vieira 答案)


3
投票
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
来改进 Sean Viera 的答案,那么段落之间的空格就没有问题了


0
投票
const countParagraphs = (text) =>{
return text.split(/\n\s*\n/).filter(Boolean).length;

}

此函数通过根据空行或缩进的存在来分割文本,然后在返回计数之前过滤掉任何空段落,从而有效地计算文本中的段落数。

© www.soinside.com 2019 - 2024. All rights reserved.