Fix bug: username should be valid when there are underscore