Validating a email
If you want the full check, have a look at this question.
An issue with this parser is that it's accepting of anything that is considered as a valid e-mail address for RFC-822 and friends, including many things that are clearly not addressable on the wide Internet: So, as @Token Mac Guy put it, the only definitive way of checking an e-mail address is to send an e-mail to the expected address and wait for the user to act on the information inside the message.
In order to check if an email is valid, our technology connects to mailboxes through “mailbox pinging”.
IPv6 represents an evolution of the IP, but it will coexist with IPv4 in the future. Each number of the address, written in decimal as four numbers separated by periods, can be anything from zero to 255.A recent study conducted by Return Path shows that in 83% of cases, low email sender reputation is responsible for emails not reaching their intended recipient.If you want to protect your email score, you have to regularly check your database to ensure that all the addresses in it are still in good use.There are even whole modules for Perl with the purpose of validating email addresses.So you probably won't get anything that's 100% perfect as a regex while also being readable.
Search for validating a email:
The only way to do that is to send them an email and have them click a link to verify. that they didn't accidentally entered their street address) is usually enough.