Paragraphs in javascript

前端 未结 3 1485
南笙
南笙 2021-01-24 03:50

Do you know if there is an easy way of counting paragraphs in a textarea using nothing but javascript?

Thanks,

相关标签:
3条回答
  • 2021-01-24 04:13
    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/

    0 讨论(0)
  • 2021-01-24 04:17

    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

    0 讨论(0)
  • 2021-01-24 04:25

    Try this one:

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

    This will ignore empty strings (see @Sean Vieira answer)

    0 讨论(0)
提交回复
热议问题