Don’t let your user input a "username" while registering. It’s totally unnecessary. And it can be awkward when user logins with an Open ID, such as Google or Facebook. What will be the user name in this case?
If a user registers on your site, just use their email as username. It will make registration simpler.
If the user logins with an Facebook account, you can use "facebook:email@example.com" as the user name.