Requirements:
• Usernames should be between 5 and 30 characters long
• They must contain letters and numbers.
• Usernames are not case sensitive.
• Spaces must not be used.
Allow: "!,@,#,$,%,^,?,_,~,-"
I've tried something like this for the length and normal characters requirements.
^[a-z0-9_-]{5,30}$
This does not guarantee I get both letters and numbers - only that they are allowed
[A-Za-z].*[0-9]|[0-9].*[A-Za-z]
I don't know how to limit this to 5-30 characters total?