Well, I think there are some obvious things to check for. For example, if xxxx.com was input but is not a valid domain, but xxxx.net is, then that really shouldn't be a 3 since that's an obvious thing to warn the user about.
Perhaps just doing between 1 and 3 is close enough to avoid all the extra work, though. You're just warning them and they can continue with their input, right?