Regular expressions are characters that make a search pattern. It's more flexible than searching for simply a string.
var pattern = /pattern/optional modifiers;
var str = "Arapahoe High School";
var n = str.search("High");
returns 9 (the index position of where 'High' starts). (If it doesn't find it, it will return -1.)
var str = "Arapahoe High School";
var n = str.search(/high/i);
returns 9 (the 'i' makes it case insensitive, so it finds high even though it was High).
It's also used a lot with replace, where you find something and replace it with something else, but you want some flexibility with what you're finding.
Modifiers
i case-insensitive matching
g global match (finds all matches rather than stopping after first match)
m multiline matching
Patterns
[abc] find any of the characters between brackets
[0-9] find any of the digits between brackets
(x|y) find any of the alternatives separated with |
Metacharacter
\d find any digit
\s find a whitespace character
\b find a match at the beginning of a word
Quantifiers
n+ match any string that contains at least one n
n* match any string that contains 0 or more occurrences of n
n? match any string that contains 0 or 1 occurrence of n
test() method returns true or false
var pattern = /e/;
pattern.test("How are you?")
would return true, because it finds an 'e'.