Search code examples
javascripttexttextareaenter

Javascript to count number of texts within textarea by "enter"


could you please inform how the number of texts can be counted within textarea by pressing "enter".

Textarea can be created like this:

 <textarea name="ta1" id="ta1" rows="4" cols="50">
 ABC[enter]
 DEF[enter]
 GHI[enter]
 </textarea>
 <input type="text" name="textnumber" value="">

Then "textnumber" will show "3" instantaneously. Thanks.


Solution

  • Try do that in this way

    function getEntersCount(textarea, result) {
       var text = textarea.value,
           enters = text.split(/\r|\r\n|\n/),
           count = enters.length;
    
       result.value = count;
    }
    
    getEntersCount(
        document.getElementById("ta1"), 
        document.querySelector('[name="textnumber"]')
    );
    

    Guess this will help you

    EDIT 1

    getEntersCount(
        document.getElementById("ta1"), 
        document.getElementById('textnumber')
    );
    

    EDIT 2

    // Function will take text and return count of lines in it
    function getEntersCount(text) {
        var enters = text.split(/\r|\r\n|\n/),
            count = enters.length;       
        return count;
    }
    
    // Usage example
    var count = getEntersCount(document.getElementById("ta1").value) 
    console.log(count);