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