| String.indexOf( ) Method | Flash 5 |
| find the first occurrence of a substring in a string |
A string containing the character or characters for which to search.
An optional integer position in string at which to start searching for substring. Should be in the range of 0 (the first character) to string.length - 1 (the last character). Defaults to 0.
The position of the first occurrence of substring in string (starting at startIndex). Returns -1 if substring is not found at or after startIndex in string.
The indexOf( ) method is used to search for characters in strings or to check whether a string contains a certain substring. The search is case-sensitive. Use toLowerCase( ) to ensure a case-neutral search, as shown in the third Example.
// Check if an email address contains an @ sign
var email = "derekaol.com";
if (email.indexOf("@") = = -1) {
trace("This isn't a valid email address");
}
// Check if an email address has an @ sign and is from the domain aol.com
var email = "derek@aol.com";
var atPos = email.indexOf("@");
if (atPos != -1 && email.indexOf("aol.com") = = atPos + 1) {
gotoAndStop("AOLuserOffer");
}
The following code creates a generic function that performs a case-insensitive search for a keyword in a string, as you might need when grading a fill-in-the-blank quiz:
// Generic function to search origStr for any occurrence
// of searchStr, using a case-insensitive comparison
function search (origStr, searchStr) {
var origStr = origStr.toLowerCase();
var searchStr = searchStr.toLowerCase();
return origStr.indexOf(searchStr) != -1;
}
var answer = "einstein";
var guess = "Dr. Albert Einstein";
// Increment score if guess contains "einstein"
if (search(guess, answer)) {
score++;
}
String.charAt( ), String.lastIndexOf( ), String.toLowerCase( ); "The indexOf( ) function," in Chapter 4