RES: [PHP] email address syntax checker

2011-01-21 Thread Alejandro Michelin Salomon

Donovan:

Try this

function EmailCheck ( $sEmail )
 {
 
$regexp=/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z
]{2,}$/i;

 if ( !preg_match($regexp, $sEmail) )
return false;

 return true;
 }

Alejandro M.S.
-Mensagem original-
De: Donovan Brooke [mailto:li...@euca.us] 
Enviada em: quinta-feira, 20 de janeiro de 2011 01:14
Para: php-general@lists.php.net
Assunto: [PHP] email address syntax checker

Hi Guys,

I'm waddling my way through database interaction and thought someone on 
the list may already have a simple email checker that they'd like to 
share...

you know, looking for the @ char and dots etc..

I did a quick search of the archives and found a couple elaborate 
things.. but
I'm looking for something simple. This job will have trusted users and
the checker is more to help them catch mistakes when registering.

Thanks!,
Donovan


-- 
D Brooke

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: RES: [PHP] email address syntax checker

2011-01-21 Thread a...@ashleysheridan.co.uk
That won't accept dozens of different types of email addresses. It won't even 
match some value domains.

Valid email addresses can contain virtually any character in the local part 
(although in the main they will require being inside quotation marks), and the 
@ symbol is included in that!

Thanks,
Ash
http://www.ashleysheridan.co.uk

- Reply message -
From: Alejandro Michelin Salomon amichel...@hotmail.com
Date: Fri, Jan 21, 2011 12:14
Subject: RES: [PHP] email address syntax checker
To: 'Donovan Brooke' li...@euca.us
Cc: php-general@lists.php.net



Donovan:

Try this

function EmailCheck ( $sEmail )
 {
 
$regexp=/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z
]{2,}$/i;

 if ( !preg_match($regexp, $sEmail) )
return false;

 return true;
 }

Alejandro M.S.
-Mensagem original-
De: Donovan Brooke [mailto:li...@euca.us] 
Enviada em: quinta-feira, 20 de janeiro de 2011 01:14
Para: php-general@lists.php.net
Assunto: [PHP] email address syntax checker

Hi Guys,

I'm waddling my way through database interaction and thought someone on 
the list may already have a simple email checker that they'd like to 
share...

you know, looking for the @ char and dots etc..

I did a quick search of the archives and found a couple elaborate 
things.. but
I'm looking for something simple. This job will have trusted users and
the checker is more to help them catch mistakes when registering.

Thanks!,
Donovan


-- 
D Brooke

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: RES: [PHP] email address syntax checker

2011-01-21 Thread Richard Quadling
On 21 January 2011 11:38, a...@ashleysheridan.co.uk
a...@ashleysheridan.co.uk wrote:
 That won't accept dozens of different types of email addresses. It won't even 
 match some value domains.

 Valid email addresses can contain virtually any character in the local part 
 (although in the main they will require being inside quotation marks), and 
 the @ symbol is included in that!

 Thanks,
 Ash
 http://www.ashleysheridan.co.uk

 - Reply message -
 From: Alejandro Michelin Salomon amichel...@hotmail.com
 Date: Fri, Jan 21, 2011 12:14
 Subject: RES: [PHP] email address syntax checker
 To: 'Donovan Brooke' li...@euca.us
 Cc: php-general@lists.php.net



 Donovan:

 Try this

 function EmailCheck ( $sEmail )
  {

 $regexp=/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z
 ]{2,}$/i;

     if ( !preg_match($regexp, $sEmail) )
        return false;

     return true;
  }

 Alejandro M.S.
 -Mensagem original-
 De: Donovan Brooke [mailto:li...@euca.us]
 Enviada em: quinta-feira, 20 de janeiro de 2011 01:14
 Para: php-general@lists.php.net
 Assunto: [PHP] email address syntax checker

 Hi Guys,

 I'm waddling my way through database interaction and thought someone on
 the list may already have a simple email checker that they'd like to
 share...

 you know, looking for the @ char and dots etc..

 I did a quick search of the archives and found a couple elaborate
 things.. but
 I'm looking for something simple. This job will have trusted users and
 the checker is more to help them catch mistakes when registering.

 Thanks!,
 Donovan


 --
 D Brooke

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php



 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php



http://www.regular-expressions.info/email.html makes a good argument
about the futility of using JUST one massive regex to validate email
addresses.

The long and short of it is the standard says that this should work ...

(?:[a-z0-9!#$%'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%'*+/=?^_`{|}~-]+)*|(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*)@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

Which is ...



(?:[a-z0-9!#$%'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%'*+/=?^_`{|}~-]+)*|(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*)@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

Which (using RegexBuddy) is explained as ...

Options: case insensitive; ^ and $ match at line breaks

Match the regular expression below
«(?:[a-z0-9!#$%'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%'*+/=?^_`{|}~-]+)*|(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*)»
   Match either the regular expression below (attempting the next
alternative only if this one fails)
«[a-z0-9!#$%'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%'*+/=?^_`{|}~-]+)*»
  Match a single character present in the list below
«[a-z0-9!#$%'*+/=?^_`{|}~-]+»
 Between one and unlimited times, as many times as possible,
giving back as needed (greedy) «+»
 A character in the range between “a” and “z” «a-z»
 A character in the range between “0” and “9” «0-9»
 One of the characters “!#$%'*+/=?^_`{|}” «!#$%'*+/=?^_`{|}»
 The character “~” «~»
 The character “-” «-»
  Match the regular expression below «(?:\.[a-z0-9!#$%'*+/=?^_`{|}~-]+)*»
 Between zero and unlimited times, as many times as possible,
giving back as needed (greedy) «*»
 Match the character “.” literally «\.»
 Match a single character present in the list below
«[a-z0-9!#$%'*+/=?^_`{|}~-]+»
Between one and unlimited times, as many times as
possible, giving back as needed (greedy) «+»
A character in the range between “a” and “z” «a-z»
A character in the range between “0” and “9” «0-9»
One of the characters “!#$%'*+/=?^_`{|}” «!#$%'*+/=?^_`{|}»
The character “~” «~»
The character “-” «-»
   Or match regular expression number 2 below (the entire group fails
if this one fails to match)
«(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*»
  Match the character “” literally «»
  Match the regular expression below
«(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*»
 Between zero and unlimited times, as many times as possible,
giving back as needed (greedy) «*»
 Match either the regular