Google+ Like somuch.com on Facebook Share somuch.com on Facebook somuch.com on Twitter Reddit LinkedIn Pinterest Google PR6
Newest Tips & Tricks...

Home :: Tips & Tricks :: Javascript

Count Words Function

Here's a script that dynamically keeps track of how many words have been entered. The script changes any new line characters into single spaces and then splits the string into separate pieces wherever there is a space. All of the pieces that actually contain something are "words" and get counted.

function cnt(w,x){
var y=w.value;
var r = 0;
a=y.replace(/\s/g,' ');
a=a.split(' ');
for (z=0; z<a.length; z++) {if (a[z].length > 0) r++;}
x.value=r;
}

Call this routine whenever your visitor tries to enter anything into either field (we include the count field so that anything they enter there will be changed back into the correct count of words in the field we are counting). We do this by using the onkeyup method so that the count is recalculated every time anything is typed.

<form name="myform">
<textarea rows="15" name="w" cols="45"
onkeyup="cnt(this,document.myform.c)"></textarea>
<br />Word Count: <input type="text" name="c" value="0" size="5"
onkeyup="cnt(document.myform.w,this)" />
</form>

In each case both fields are passed to the function in the same order (field to count words in, field to display count). You can call the fields whatever you like as long as you reference them correctly by name in the function call.

Note: This script and the description of how it works are copied from the "Ask Felgall" website with the permission of the copyright owner.

Source: Unknown

Recommended Links...