Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: Poor man's email address validation function

by rob_au (Abbot)
on Jun 26, 2004 at 22:56 UTC ( #369891=note: print w/ replies, xml ) Need Help??

in reply to Poor man's email address validation function

Some code based upon code from Email::Valid::Loose ...

my $esc = '\\\\'; my $period = '\.'; my $space = '\040'; my $open_br = '\['; my $close_br = '\]'; my $nonASCII = '\x80-\xff'; my $ctrl = '\000-\037'; my $cr_list = '\n\015'; my $qtext = qq/[^$esc$nonASCII$cr_list\"]/; # " my $dtext = qq/[^$esc$nonASCII$cr_list$open_br$close_br]/; my $quoted_pair = qq<$esc>.qq<[^$nonASCII]>; my $atom_char = qq/[^($space)<>\@,;:\".$esc$open_br$close_br$ctrl$no +nASCII]/; my $atom = qq<$atom_char+(?!$atom_char)>; my $quoted_str = qq<\"$qtext*(?:$quoted_pair$qtext*)*\">; my $word = qq<(?:$atom|$quoted_str)>; my $domain_ref = $atom; my $domain_lit = qq<$open_br(?:$dtext|$quoted_pair)*$close_br>; my $sub_domain = qq<(?:$domain_ref|$domain_lit)>; my $domain = qq<$sub_domain(?:$period$sub_domain)*>; my $local_part = qq<$word(?:$word|$period)*>; my $Addr_spec_re = qr<$local_part\@$domain>; # Is an address valid? if ( $address =~ /^$Addr_spec_re$/o ) { # Yes } else { # No }


perl -le "print unpack'N', pack'B32', '00000000000000000000001011100110'"

Comment on Re: Poor man's email address validation function
Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://369891]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (10)
As of 2015-07-29 02:02 GMT
Find Nodes?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...

    Results (260 votes), past polls