That uses a very bad regex under the hood afaik. Its not nearly as good as
it should be. Plus it can be changed server side with a php.ini
configuration variable, which I dislike very much.

On Wed, 26 Jan 2011 13:48:44 +0100, Lukas Kahwe Smith <[email protected]>
wrote:
> What about
> 
> filter_var($email, FILTER_VALIDATE_EMAIL) ?
> 
> On 26.01.2011, at 13:47, Jordi Boggiano wrote:
> 
>> And the link might be helpful.. http://www.dominicsayers.com/isemail/
>> 
>> On Wed, Jan 26, 2011 at 1:46 PM, Jordi Boggiano <[email protected]>
>> wrote:
>>> This code includes a whole battery of tests with enormous details so
>>> I'd tend to believe it is compliant to the spec. The code is BSD so we
>>> could include it in the EmailValidator with proper attribution I
>>> guess.
>>> 
>>> Cheers
>>> 
>>> On Wed, Jan 26, 2011 at 4:17 AM, Jeremy Mikola <[email protected]>
>>> wrote:
>>>> We encountered this at OpenSky (the exception during attempted
>>>> delivery to
>>>> such a bad address) and actually ended up writing a second regex
>>>> validation
>>>> constraint to ensure there was no dot immediately before or after the
>>>> "@"
>>>> separator.
>>>> 
>>>> This is a fairly nice write-up on various regex patterns:
>>>> http://fightingforalostcause.net/misc/2006/compare-email-regex.php
>>>> 
>>>> And a SO question with plenty of resources:
>>>>
http://stackoverflow.com/questions/201323/what-is-the-best-regular-expression-for-validating-email-addresses
>>>> 
>>>> 
>>>> On Tue, Jan 25, 2011 at 8:45 PM, ryan weaver <[email protected]>
>>>> wrote:
>>>>> 
>>>>> Hey Jean-
>>>>> Yes, I've run into this problem before as well - the email passes
>>>>> validation, but then fails in Swift due to a format like
>>>>> [email protected].
>>>>> I don't know much more about this, though I'm assuming that the
giant
>>>>> regex is dependable. I'd want to hear thoughts on if this is the
>>>>> "best-practice" regex or if it's just so heavy that it's
unreasonable
>>>>> to
>>>>> use. It could potentially be used in the Symfony2 EmailValidator
>>>>> class.
>>>>> Ryan Weaver
>>>>> Lead Programmer - iostudio - Nashville, TN
>>>>> http://www.iostudio.com
>>>>> http://www.thatsquality.com
>>>>> Twitter: @weaverryan
>>>>> 
>>>>> 
>>>>> On Sun, Jan 23, 2011 at 2:02 PM, Jean-Philippe Caissy
>>>>> <[email protected]>
>>>>> wrote:
>>>>>> 
>>>>>> First of all, I can't post a bug on Trac for an unknown reason, I
get
>>>>>> an exception and trac fails.
>>>>>> 
>>>>>> The problem I had this afternoon came from a user who tried to
>>>>>> register with an invalid email address. However, even though the
>>>>>> email
>>>>>> address does not comply with RFC 2822, 3.6.2, it got validated by
>>>>>> sfValidatorEmail.
>>>>>> 
>>>>>> You can try with any address which has a dot before the @:
>>>>>> [email protected]
>>>>>> 
>>>>>> The regex used by sfValidatorEmail should be updated to fully
comply
>>>>>> with RFC. I am currently using Switf's regex which is quite long
but
>>>>>> works better:
>>>>>> 
>>>>>> /^(?:(?:(?:(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[
\t]*(?:\r
>>>>>> \n))?[
>>>>>> \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B
>>>>>> \x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[
>>>>>> \t]*(?:\r
>>>>>> \n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:
>>>>>> [ \t]*(?:\r\n))?[
\t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-
>>>>>>
\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:
>>>>>> (?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])))?(?:[a-zA-
>>>>>>
Z0-9!#\$%&'\*\+\-\/=\?\^_`\{\}\|~]+(\.[a-zA-Z0-9!#\$%&'\*\+\-\/=\?\^_`\
>>>>>> {\}\|~]+)*)+(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[
>>>>>> \t]*(?:\r
>>>>>> \n))?[
>>>>>> \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B
>>>>>> \x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[
>>>>>> \t]*(?:\r
>>>>>> \n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:
>>>>>> [ \t]*(?:\r\n))?[
\t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-
>>>>>>
\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:
>>>>>> (?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])))?)|(?:(?:
>>>>>> (?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])|(?:
>>>>>>
(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\
>>>>>> \[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?
>>>>>> \)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[
\t]*(?:\r\n))?
>>>>>> [
>>>>>>
\t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-
>>>>>> \x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[
>>>>>> \t]*(?:\r\n))?
>>>>>> [ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?"((?:(?:[ \t]*(?:\r\n))?
>>>>>> [ \t])?(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21\x23-\x5B\x5D-
>>>>>> \x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])))*(?:(?:[ \t]*(?:\r\n))?
>>>>>> [ \t])?"(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[
>>>>>> \t]*(?:\r\n))?
>>>>>> [
>>>>>>
\t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-
>>>>>> \x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[
>>>>>> \t]*(?:\r\n))?
>>>>>> [ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[
>>>>>> \t]*(?:\r
>>>>>> \n))?[
>>>>>> \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B
>>>>>> \x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[
>>>>>> \t]*(?:\r
>>>>>> \n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[
\t])))?))@(?:(?:(?:(?:(?:(?:
>>>>>> [ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])|(?:(?:[\x01-
>>>>>>
\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-
>>>>>> \x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])?\)))*(?:(?:
>>>>>> (?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])|(?:(?:
>>>>>>
[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\
>>>>>> [\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])?\)))|
>>>>>> (?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])))?(?:[a-zA-Z0-9!#\$%&'\*\+\-\/=\?\^_`\{\}
>>>>>> \|~]+(\.[a-zA-Z0-9!#\$%&'\*\+\-\/=\?\^_`\{\}\|~]+)*)+(?:(?:(?:(?:
>>>>>> [ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])|(?:(?:[\x01-
>>>>>>
\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-
>>>>>> \x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])?\)))*(?:(?:
>>>>>> (?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])|(?:(?:
>>>>>>
[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\
>>>>>> [\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])?\)))|
>>>>>> (?:(?:[ \t]*(?:\r\n))?[ \t])))?)|(?:(?:(?:(?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])?
>>>>>> (\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-
>>>>>>
\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-
>>>>>> \x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[
>>>>>> \t]*(?:\r
>>>>>> \n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])|(?:(?:[\x01-\x08\x0B\x0C
>>>>>>
\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C
>>>>>> \x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[
>>>>>> \t]*(?:\r
>>>>>> \n))?[ \t])))?\[((?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])?(?:(?:[\x01-\x08\x0B\x0C
>>>>>> \x0E-\x19\x7F]|[\x21-\x5A\x5E-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-
>>>>>> \x7F])))*?(?:(?:[ \t]*(?:\r\n))?[ \t])?\](?:(?:(?:(?:[
\t]*(?:\r\n))?
>>>>>> [ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-
>>>>>>
\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-
>>>>>> \x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[
>>>>>> \t]*(?:\r
>>>>>> \n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[
>>>>>> \t])|(?:(?:[\x01-\x08\x0B\x0C
>>>>>>
\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C
>>>>>> \x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[
>>>>>> \t]*(?:\r
>>>>>> \n))?[ \t])))?)))$/D
>>>>>> 
>>>>>> --
>>>>>> If you want to report a vulnerability issue on symfony, please send
>>>>>> it to
>>>>>> security at symfony-project.com
>>>>>> 
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "symfony developers" group.
>>>>>> To post to this group, send email to [email protected]
>>>>>> To unsubscribe from this group, send email to
>>>>>> [email protected]
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/symfony-devs?hl=en
>>>>> 
>>>>> --
>>>>> If you want to report a vulnerability issue on symfony, please send
>>>>> it to
>>>>> security at symfony-project.com
>>>>> 
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "symfony developers" group.
>>>>> To post to this group, send email to [email protected]
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected]
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/symfony-devs?hl=en
>>>> 
>>>> 
>>>> 
>>>> --
>>>> jeremy mikola
>>>> 
>>>> --
>>>> If you want to report a vulnerability issue on symfony, please send
it
>>>> to
>>>> security at symfony-project.com
>>>> 
>>>> You received this message because you are subscribed to the Google
>>>> Groups "symfony developers" group.
>>>> To post to this group, send email to [email protected]
>>>> To unsubscribe from this group, send email to
>>>> [email protected]
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/symfony-devs?hl=en
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> Jordi Boggiano
>>> @seldaek :: http://seld.be/
>>> 
>> 
>> 
>> 
>> -- 
>> Jordi Boggiano
>> @seldaek :: http://seld.be/
>> 
>> -- 
>> If you want to report a vulnerability issue on symfony, please send it
>> to security at symfony-project.com
>> 
>> You received this message because you are subscribed to the Google
>> Groups "symfony developers" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/symfony-devs?hl=en
> 
> Lukas Kahwe Smith
> [email protected]

-- 
If you want to report a vulnerability issue on symfony, please send it to 
security at symfony-project.com

You received this message because you are subscribed to the Google
Groups "symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/symfony-devs?hl=en

Reply via email to