Username Validation Regex

Example:
^[a-zA-Z0-9_-]{3,16}$ Matches: ✓ john_doe ✓ user123 ✓ dev-account
Validates alphanumeric usernames 3-16 characters: ^[a-zA-Z0-9_-]{3,16}$
Try Regex Lab →

FAQs

Why limit to 3-16 characters?

Minimum 3 prevents single-letter usernames. Maximum 16 is a UX and database best practice.

Can usernames start with numbers?

This pattern allows it. To require letter-start, use: ^[a-zA-Z][a-zA-Z0-9_-]{2,15}$