问题
Do you know if there is an easy way of counting paragraphs in a textarea using nothing but javascript?
Thanks,
回答1:
Try this one:
document.getElementById('textarea_id').value.replace(/\n$/gm, '').split(/\n/).length;
This will ignore empty strings (see @Sean Vieira answer)
回答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);
Now, this doesn't take into account multiple newlines without text ... so:
Some text
Some more text
Some more text
will return 5
rather than 3
The solution is to strip out all whitespace, and return what's left:
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
See: http://jsfiddle.net/UBWpJ/
回答3:
You can improve Sean Viera answer by splitting on (\n *\n)/g
instead of just \n\n
then you have no issues with spaces between the paragraphs
来源:https://stackoverflow.com/questions/3336264/paragraphs-in-javascript