[151158] in North American Network Operators' Group

home help back first fref pref prev next nref lref last post

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



home help back first fref pref prev next nref lref last post