If you are absolutely intent on having a 100% valid email address, for starters I would recommend reading RFC 2822, which can be found at https://www.rfc-editor.org/rfc/rfc2822#section-3.4.1. A full implementation of this specification will ensure that all email addresses entered are in a completely valid format. This goes far beyond what all but the most complex regular expressions can achieve - for example, you may find that you need to cope with Cyrillic, Greek or Unicode character sets.
However ...
Implementation of this spec would take a significant amount of time, compared with the amount of time you would save. Even if an email address was still in a valid format there are still gotchas including:
- The domain may not be registered;
- There may be no MX record for the domain;
- There may be no A record for the domain, as a fall-back; or,
- The user may not actually exist.
Quite frankly, rather than spending time ensuring email addresses adhere strictly to the correct format, your time may be better spent ensuring that it is "good enough" and concentrating on other aspects of your verification process.