Programmers with network engineering skills
Owen DeLong
owen at delong.com
Mon Mar 12 21:32:23 UTC 2012
On Mar 12, 2012, at 2:12 PM, Keegan Holley wrote:
> 2012/3/12 Tei <oscar.vives at gmail.com>
>
>> On 12 March 2012 09:59, Carlos Martinez-Cagnazzo <carlosm3011 at gmail.com>
>> wrote:
>>> Hey!
>>>
>>> On 3/8/12 8:24 PM, Lamar Owen wrote:
>>>> On Monday, March 05, 2012 09:36:41 PM Jimmy Hess wrote:
>>>> ...
>>>>> (16) The default gateway's IP address is always 192.168.0.1
>>>>> (17) The user portion of E-mail addresses never contain special
>>>>> characters like "-" "+" "$" "~" "." ",", "[", "]"
>>> I've just had my ' xx AT cagnazzo.name' email address rejected by a web
>>> form saying that 'it is not a valid email address'. So I guess point
>>> (17) can be extended to say that 'no email address shall end in anything
>>> different that .com, .net or the local ccTLD'
>>>
>>> :=)
>>>
>>> Carlos
>>
>>
>> Yea, I don't even know how programmers can get that wrong. The regex
>> is not even hard or anything.
>>
>>
>>
>> (?:[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])+)\])
>>
>>
> I bet it's even harder without the use of a search engine.
Whenever I've built code to check someone's email address on a form, I always just looked for the following:
1. matches ^[^@]+@[A-Za-z0-0\-\.]+[A-Za-z]$
2. The component to the right of the @ sign returns at least one A, AAAA, or MX record.
If it passed those two checks, I figured that was about as good as I could do without resorting to one of the following:
1. An incomprehensible and unmaintainable regex as the one above
2. Actually attempting delivery to said address
Owen
More information about the NANOG
mailing list