Er, what is this for?
As it is, the code so far doesn't even come close to properly validating an email address. The problem is so complex, actually, that the complete, industry-standard, regex for it is actually broken. (By the way, here it is:
http://code.iamcal.com/php/rfc822/full_regexp.txt .)
The standard itself:
http://www.faqs.org/rfcs/rfc2822.html
So, if this is a homework, your teacher will have to have given you some constraints he expects you to use, since an email address is such a warped and twisted thing that whatever you code, someone, somewhere will have a valid email address that will not validate with your code.
If this is for business, you will have to consider what exactly you are trying to accomplish. Is it just to make sure that the user inputs something other than rubbish?
The only guaranteed way to test an email address is to
send an email and see if it bounces.
Technically, you could also test the target server to see if it accepts that email address, but many servers do not respond to those requests, and if they do they may respond incorrectly.