JavaScript Regular Expressions (RegEx) Cheatsheet
JavaScript uses RegExp objects to work with regular expressions for searching and manipulating strings.
๐ง Syntax Basics
const pattern = /expression/flags;
const regex = new RegExp("expression", "flags");
| Flag | Meaning |
|---|---|
g |
Global search (all matches) |
i |
Case-insensitive |
m |
Multiline mode |
s |
Dot matches newline |
u |
Unicode |
y |
Sticky matching |
๐ Common RegEx Patterns
1. Match an Email Address
const regex = /^[\w.-]+@[a-zA-Z\d.-]+\.[a-zA-Z]{2,}$/;
-
Explanation: Matches
user@domain.com -
\w= word char,.= dot,-= hyphen
2. Match a URL
const regex = /https?:\/\/(www\.)?[a-zA-Z0-9-]+\.[a-zA-Z]{2,}(\/\S*)?/;
- Matches
http://,https://, optionalwww, domain, and optional path
3. Validate a Phone Number (US)
const regex = /^\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}$/;
- Matches formats like
(123) 456-7890,123-456-7890,1234567890
4. Match Only Digits
const regex = /^\d+$/;
- Only digits (
0-9), at least one
5. Match Only Letters
const regex = /^[a-zA-Z]+$/;
- Only alphabetic characters
6. Check for Whitespace
const regex = /\s/;
- Matches any whitespace character
7. Password Strength (8+ chars, upper, lower, number, special)
const regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@#$%^&+=!]).{8,}$/;
- Uses lookaheads to ensure character variety
8. Extract Numbers from a String
const regex = /\d+/g;
const numbers = "abc123def456".match(regex); // ['123', '456']
9. Detect HTML Tags
const regex = /<[^>]*>/g;
- Matches any HTML tags like
<div>,</p>, etc.
10. Match Dates (MM/DD/YYYY)
const regex = /^(0[1-9]|1[0-2])\/(0[1-9]|[12]\d|3[01])\/\d{4}$/;
- Matches US-style dates like
04/16/2025
11. Match Hex Colors
const regex = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;
- Matches hex colors like
#fffor#12a3ef
12. Match Time (24-hour HH:MM)
const regex = /^([01]\d|2[0-3]):([0-5]\d)$/;
- Matches times like
14:30,09:45
๐งช Using RegEx in JavaScript
const pattern = /^\d{3}$/;
console.log(pattern.test("123")); // true
console.log("abc123".match(/\d+/g)); // ['123']
๐ Tips
- Use
RegExp.test()to check for a match (true/false) - Use
String.match()to extract matches - Escape special characters like
.or?with\
Let me know if you'd like this exported to a .md file or extended with advanced patterns (e.g., IPv4, slugs, currency formats).
No Comments