[151158] in North American Network Operators' Group
Re: Programmers with network engineering skills
daemon@ATHENA.MIT.EDU (Owen DeLong)
Mon Mar 12 17:37:48 2012
From: Owen DeLong <owen@delong.com>
In-Reply-To: <CABO8Q6SjBaBMygXHQSpQWzY8HkcHYUXcpOSdzekmVcnu8DqM8Q@mail.gmail.com>
Date: Mon, 12 Mar 2012 14:32:23 -0700
To: Keegan Holley <keegan.holley@sungard.com>
Cc: nanog@nanog.org
Errors-To: nanog-bounces+nanog.discuss=bloom-picayune.mit.edu@nanog.org
On Mar 12, 2012, at 2:12 PM, Keegan Holley wrote:
> 2012/3/12 Tei <oscar.vives@gmail.com>
>=20
>> On 12 March 2012 09:59, Carlos Martinez-Cagnazzo =
<carlosm3011@gmail.com>
>> wrote:
>>> Hey!
>>>=20
>>> 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'
>>>=20
>>> :=3D)
>>>=20
>>> Carlos
>>=20
>>=20
>> Yea, I don't even know how programmers can get that wrong. The regex
>> is not even hard or anything.
>>=20
>>=20
>>=20
>> =
(?:[a-z0-9!#$%&'*+/=3D?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=3D?^_`{|}~-]+)*|"(?=
:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x=
0e-\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])+)\])
>>=20
>>=20
> 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