function wordCount(str) { var wordArray = new Array(); str = prepStr(str); var tempArray = str.split(' ').sort(); var count = 1;
// Iterate through all the words for (var i = 0; i < tempArray.length; i++) {
// If an array element with the same name as // the current word exists, increment its value by 1 if (wordArray[tempArray[i]]) { wordArray[tempArray[i]]++; }
// Otherwise, assign the array element to the /// name of the word, and give it a value of 1 else { wordArray[tempArray[i]] = 1; } } var arrStr = '';
// Create table rows that display the word and the frequency for (word in wordArray) { if (word != "") { arrStr += '<TR><TD>' + word + '</TD><TD>' + wordArray[word] + '</TD></TR>'; count++; } } return '<TABLE BORDER=0 CELLPADDING=10><TR><TD WIDTH=300 VALIGN=TOP ROWSPAN=' + count + '><B>Original Formatted Text</B><BR><I>' + str + '</I><TD><B>Word</B><TD><B>Freqency</B></TR>' + arrStr + '</TABLE>'; }
// Define a function to format strings for easier manipulation function prepStr(str) { str = str.toLowerCase(); str = str.replace(/['"-]/g, ""); str = str.replace(/W/g, " "); str = str.replace(/s+/g, " "); return str; }
function camelCaps(str, theCase) { var tempArray = str.split(' ');
// Make the first character of each word upper- or lowercase // depending on the value of theCase for (var i = 0; i < tempArray.length; i++) { if (theCase) { tempArray[i] = tempArray[i].charAt(0).toUpperCase() + tempArray[i].substring(1); } else { tempArray[i] = tempArray[i].charAt(0).toLowerCase() + tempArray[i].substring(1); } } return tempArray.join(' '); }
var order = true;
function reorder(str) { str = prepStr(str); str = str.replace(/d/g, ""); order = !order;
// Use the sort() method for traditional sorts // Use the reverse() method in conjunction for reverse sorts() if(!order) { str = str.split(' ').sort().join(' '); } else { str = str.split(' ').sort().reverse().join(' '); } return str.replace(/^s+/, ""); } </SCRIPT> <SCRIPT LANGUAGE="JavaScript1.1"> <!--
function doCount(txt) { words = wordCount(txt); self.location.href = "javascript: '<HTML>' + words + '</HTML>'"; }
//--> </SCRIPT> </HEAD> <BODY BGCOLOR=WHITE> <FORM> Enter some words in the TEXTAREA below. Then choose <B>Count</B> for a word count: <BR> <TEXTAREA ROWS=10 COLS=25 WRAP=PHYSICAL> </TEXTAREA><BR> <INPUT TYPE=BUTTON VALUE="Count" onClick="doCount(this.form.elements[0].value);"> <INPUT TYPE=RESET> </FORM>
<BR><BR> <FORM> Enter some words in the TEXTAREA below. Then choose <B>Upper</B> or <B>Lower</B> to change the case: <BR> <TEXTAREA ROWS=10 COLS=25 WRAP=PHYSICAL> </TEXTAREA><BR> <INPUT TYPE=BUTTON VALUE="Upper" onClick="this.form.elements[0].value=camelCaps(this.form.elements[0].value, true);"> <INPUT TYPE=BUTTON VALUE="Lower" onClick="this.form.elements[0].value=camelCaps(this.form.elements[0].value, false);"> <INPUT TYPE=RESET> </FORM>
<BR><BR> <FORM> Enter some words in the TEXTAREA below. Then choose <B>Sort</B> to sort the text: <BR> <TEXTAREA ROWS=10 COLS=25 WRAP=PHYSICAL> </TEXTAREA><BR> <INPUT TYPE=BUTTON VALUE=" Sort " onClick="this.form.elements[0].value=reorder(this.form.elements[0].value);"> <INPUT TYPE=RESET> </FORM> </BODY> </HTML>
Related Scripts with Example Source Code in same category :