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
#fff
or#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