I guess... I don't see why it has to be so complex. Check for an @, then check for at least one . after the @. I can't think of any valid, modern email addresses that break that.