Hi,
Gave this same issue some thought some time ago and decided for simplicity and effectiveness, to use the email address as the username during registration.
This way, you've got a unique username, which is validated, and you have an email for forgotten passwords etc.
You may, if not already done so, wish to consider this option.
Paul.