📖 JavaScript Regular Expressions
Regular Expression Object: RegExp
Regular expressions are used to perform powerful pattern-matching and "search-and-replace" functions on text. A regular expression object describes a pattern of characters. When you search in a text, you can use a pattern to describe what you are searching for. A simple pattern can be one single character or a more complicated pattern can consist of more characters, and can be used for parsing, format checking, substitution and more.
/* validEmail validates an email address against a regular expression and returns true or false */
function validEmail(email) {
var emailRegex = /[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}/;
var valid = email.match(emailRegex);
return valid;
}
Regular Expression Flags | |
---|---|
i | Case Insensitive |
g | Global (all matches) |
Regular Expression Character Positions | |
^ | beginning of the text string |
$ | end of the text string |
\b | presence of a word boundary |
\B | absence of a word boundary |
Regular Expression Character Classes | |
\d | digit (0-9) |
\D | non-digit |
\w | word character (a-z, A-Z, 0-9, _) |
\W | non-word character (special characters) |
\s | white-space character (blank space, tab, newline, carriage return, or formfeed |
\S | non-white spce character |
. | any character |
[chars] | match any character in the list of characters chars |
[^chars] | match any character not in the list of characters chars |
[char1-charN] | match any character in the range char1 - charN |
[^char1-charN] | match any character not in the range char1 - charN |
[a-z] | match lowercase letters |
[A-Z] | match uppercase letters |
[a-zA-Z] | match letters (uppercase or lowercase) |
[0-9] | match digits |
Repetition Characters | |
* | Repeat 0 or more times |
? | Repeat 0 or 1 time |
+ | Repeat 1 or more times |
{n} | Repeat exactly n times |
{n,} | Repeat at least n times |
{n,m} | Repeat at least n times but no more than m times |
Escape Sequences | |
\/ | / |
\\ | \ |
\. | . |
\* | * |
\+ | + |
\? | ? |
\| | | |
\(\) | () |
\{\} | {} |
\^ | ^ |
\$ | $ |
\n | new line |
\r | carriage return |
\t | tab |
Regular Expression Methods | |
string.match(re) | performs a pattern match on string against the regular expression re; returns true or false |
string.match(re/g) | returns an array of all matched text |
string.replace(re,'newtext') | replaces any text within the string string that matches the regular expression re with the string supplied in newtext |
Useful Regular Expressions | |
U.S. Zip Code | \d{5}(-\d{4})? |
U.S. Phone Number | \(?(\d{3})\)?[ -.](\d{3})[ -.](\d{4}) |
Email address | [-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4} |
Date | ([01]?\d)[-\/ .]([123]?\d)[-\/ .](\d{4}) |
Web address | ((\bhttps?:\/\/)|(\bwww\.))\S* |