Validation Patterns in JavaScript

From the JavaScript Regular Expressions cheat sheet · Common Patterns · verified Jul 2026

Validation Patterns

Common validation regular expressions

javascript
// Email (basic)
/^[^\s@]+@[^\s@]+\.[^\s@]+$/

// Email (RFC-like)
/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/

// URL
/^(https?:\/\/)?([\w.-]+)\.([a-z]{2,})(\/.*)?$/i

// Phone (US)
/^\(?(\d{3})\)?[-.\s]?(\d{3})[-.\s]?(\d{4})$/
// Matches: (555) 123-4567, 555.123.4567, 555 123 4567

// Password strength
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
// Min 8 chars, 1 upper, 1 lower, 1 digit, 1 special

// Credit card
/^(?:\d{4}[-\s]?){3}\d{4}$/
// Matches: 1234-5678-9012-3456 or 1234567890123456

// IPv4 address
/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/

// Date (YYYY-MM-DD)
/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/

// Time (HH:MM:SS)
/^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/

// Hex color
/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i

// Username (alphanumeric + underscore)
/^[a-zA-Z0-9_]{3,16}$/
💡 Email validation should be simple - use service for strict validation
⚡ Use lookaheads for password requirements
📌 Always validate on server side too
🟢 Test patterns with edge cases before using
validationpatterns

More JavaScript tasks

Back to the full JavaScript Regular Expressions cheat sheet