How to use JavaScript to perform basic string manipulation operations.
You can run this technique code from:
| |
See the chapter on advanced page topics in the Programmer's Guide |

Jack's birthday is 8/22
To replace the string Jack with the string Jacques, you can use the JavaScript replace() method:
<script>
<!--
demoString = "Jack's birthday is 8/22";
// This is the replace() method. It is invoked on
// a string and takes two parameters:
// 1) piece to substitute out
// 2) piece to substitute in
// You can put regular expression patterns in the replace
// method as parameters. In many cases, this is what you
// would do because you don't always know what the starting
// string is exactly.
newString = demoString.replace("Jack","Jacques");
// This line just prints the output to the page.
document.write("<pre> " + newString + "</pre>");
//-->
</script>
Jacques's birthday is 8/22

To insert the string also after the string is, you can use the JavaScript indexOf() and substring() methods:
<script>
<!--
demoString = "Jack's birthday is 8/22";
newString = demoString.replace("Jack","Jacques");
// The indexOf() method returns a number where
// the parameter you give it first appears in the
// string it is invoked on. In the word SilverStream,
// indexOf("S") would return 0, indexOf("i") would
// return 1, and indexOf("a") would return 10.
whereIS = newString.indexOf("is");
// The substring() method returns a new string that's
// a piece of the string that substring() is invoked on.
// substring() takes either 1 or 2 parameters:
// 1) starting point for new string
// 2) ending point for new string (length of new string)
// If no ending point is specified, the new string goes from
// the starting point until the end.
//
// ** Important: When you specify an ending point,
// substring returns up to but not including the character
// at the ending point. For instance, take this string:
// someString = "Color is red";
//
// someString.substring(0,4) would return 'Colo'
//
// C = 0 <-- included
// o = 1 <-- included
// l = 2 <-- included
// o = 3 <-- included
// r = 4
//
// The second parameter does not map to the index of a character
// in a string. It specifies how long the new string should be.
firstPart = newString.substring(0,whereIS + 2);
lastPart = newString.substring(whereIS + 3);
newString = firstPart + " also " + lastPart;
document.write("<pre> " + newString + "</pre>");
//-->
</script>
Or, you can use the JavaScript replace() method:
<script>
<!--
demoString = "Jack's birthday is 8/22";
newString = demoString.replace("Jack","Jacques");
newString = newString.replace("is","is also");
document.write("<pre> " + newString + "</pre>");
//-->
</script>
Jacques's birthday is also 8/22

To extract the string containing the date (month and day), you can use the JavaScript substring() method:
<script>
<!--
demoString = "Jack's birthday is 8/22";
// This takes a substring from the 4th to last character
// in the string until the end. The length property
// returns a number equal to, as its name implies, the length
// of the string.
birthday = demoString.substring(demoString.length - 4);
document.write("<pre> " + birthday + "</pre>");
//-->
</script>
8/22
To extract the string containing just the day, you can use the JavaScript substring() and lastIndexOf() methods:
<script>
<!--
demoString = "Jack's birthday is 8/22";
// Similar to indexOf(), lastIndexOf() returns
// the position of the character at its last
// occurrence in the string.
// someString = "SilverStream";
// someIndex = someString.lastIndexOf("S");
// someIndex would be equal to 6
dayNumber = demoString.substring(demoString.lastIndexOf("/") + 1);
document.write("<pre> " + dayNumber + "</pre>");
//-->
</script>
22