Strong Password Validation Regex

Validate strong passwords requiring at least 8 characters with uppercase, lowercase, number, and special character.

Pattern & Test String

About This Pattern

Pattern: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$

Flags: g

Results

Enter a regex pattern to see the results here.

Frequently Asked Questions

What requirements does this password pattern enforce?

This pattern requires: minimum 8 characters, at least one uppercase letter, one lowercase letter, one digit, and one special character from @$!%*?&.

Can I customize the special characters allowed?

Yes, modify the [@$!%*?&] character class to include or exclude specific special characters based on your requirements.

How do I change the minimum length?

Change {8,} to your desired minimum. For example, {12,} requires at least 12 characters.

Practical Examples

Registration Form Validation

Enforce strong password requirements during user registration.

Password Reset

Validate new passwords meet security standards when resetting.

Security Policy Enforcement

Ensure passwords comply with organizational security policies.

Common Issues & Solutions

Lookahead assertions (?=.*[a-z]) can be slow on very long strings. Consider validating length first.

This pattern doesn't prevent common passwords like 'Password1!'. Use a password dictionary check in addition.

Special characters may need escaping in some contexts. Test thoroughly in your specific environment.

For maximum length limits, change {8,} to {8,20} to restrict length to 20 characters maximum.