JavaScript: Count number of words in string

JavaScript validation with regular expression: Exercise-6 with Solution

Write a JavaScript program to count number of words in string.

The script will be used to:

- Remove white-space from start and end position.
- Convert 2 or more spaces to 1.
- Exclude newline with a start spacing.

Pictorial Presentation:

JavaScript: Count number of words in string

Sample Solution:-

HTML Code:

<!DOCTYPE html>
  <meta charset=utf-8 />
  <title>Count number of words in a string</title>
  <style type="text/css">
  body {margin-top: 40px;}
  <textarea id="InputText" cols="30" rows="4">The quick brown fox jumps over the lazy dog.</textarea>
  <input type="button" name="Convert" value="No. of Words" onClick="count_words();">
  <input id = "noofwords" type="text" value="" size="6"> 

JavaScript Code:

function count_words()
str1= document.getElementById("InputText").value;
//exclude  start and end white-space
str1 = str1.replace(/(^\s*)|(\s*$)/gi,"");
//convert 2 or more spaces to 1  
str1 = str1.replace(/[ ]{2,}/gi," ");
// exclude newline with a start spacing  
str1 = str1.replace(/\n /,"\n");
document.getElementById("noofwords").value = str1.split(' ').length;

Sample Output:

The quick brown fox jumps over the lazy dog.

Live Demo:

See the Pen javascript-regexp-exercise-6 by w3resource (@w3resource) on CodePen.

Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program that works as a trim function (string) using regular expression.
Next: Write a JavaScript function to check whether a given value is IP value or not.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

Follow us on Facebook and Twitter for latest update.