String utility : String : Language Basics JAVASCRIPT DHTML TUTORIALS


JAVASCRIPT DHTML TUTORIALS » Language Basics » String »

 

String utility



/*
JavaScript Application Cookbook
By Jerry Bradenbaugh

Publisher: O'Reilly 
Series: Cookbooks
ISBN: 1-56592-577-7
*/ 

<HTML>

<HEAD>

<TITLE>strings.js Example</TITLE>

<SCRIPT LANUAGE="JavaScript1.1">
// strings.js

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=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>

           
       



-

Leave a Comment / Note


 
Verification is used to prevent unwanted posts (spam). .

Follow Navioo On Twitter

JAVASCRIPT DHTML TUTORIALS

 Navioo Language Basics
» String