On Thu, Feb 09, 2012 at 01:15:52PM +0530, Ram wrote:

> I am trying to validate email ids of subscribers coming to my site
> Is there a standard  regular expression for email id syntax   that
> confirms to rfc822.
> 
> I want to avoid junk entries from entering my database.
> 
> Postfix already checks this syntax in RCPT-TO , but is this regex
> available already

Often it is a mistake to attempt to parse complex grammars with mere
regular expressions, some constructs are not handled by regexps in
full generality.

        https://tools.ietf.org/html/rfc5322#section-3.4.1

In this case you need to support:

           addr-spec       =   local-part "@" domain
           local-part      =   dot-atom / quoted-string / obs-local-part
           domain          =   dot-atom / domain-literal / obs-domain
           domain-literal  =   [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]
           dtext           =   %d33-90 /          ; Printable US-ASCII
                               %d94-126 /         ;  characters not including
                               obs-dtext          ;  "[", "]", or "\"

So, ignoring obsolete forms, you need a regexp for a valid
quoted-string, and a valid dot-atom. Then:

        (<quoted-string-regexp>|<dot-atom-regexp>)@<dot-atom-regexp>

One may be more strict about the domain part, and check it is a valid
DNS domain, and has MX records or A (or AAAA) records. The dot-atom
and quoted-string syntax is defined in other sections of RFCs 5322/5321.

Reply via email to