Tim,
Your regex solution says my email
[EMAIL PROTECTED]
is invalid which is not really so. I do see
the 2nd + there but it doesn't seem to help.
At the point of the . after shannock, how would the
regex know to try going round again (using the +) in
in preference to ploughing ahead with the [a-z]{2,6}
which initially also looks good? Is it that good at
backtracking - doesn't seem so by this example.
Rich,
Did you have any emails embodying subdomains
in the 32,000 you tested?
Duncan
-----Original Message-----
From: Rich Wild [mailto:[EMAIL PROTECTED]
Sent: 15 August 2003 13:55
To: '[EMAIL PROTECTED]'
Subject: RE: [ cf-dev ] mail regex quirks
heh, fear CFMX6.1 as it screams through a list of 32,000 email addresses and
validates each one in a total time of 1 second.
magic stuff.
> -----Original Message-----
> From: Rich Wild [mailto:[EMAIL PROTECTED]
> Sent: 15 August 2003 13:11
> To: '[EMAIL PROTECTED]'
> Subject: RE: [ cf-dev ] mail regex quirks
>
>
> genius.
>
> cheers Tim.
>
> you've saved a poor "Friday Stupid" boy.
>
> > -----Original Message-----
> > From: Tim Blair [mailto:[EMAIL PROTECTED]
> > Sent: 15 August 2003 11:46
> > To: [EMAIL PROTECTED]
> > Subject: RE: [ cf-dev ] mail regex quirks
> >
> >
> > Rich,
> >
> > > But for some reason it insists that rich&[EMAIL PROTECTED]
> > > is NOT a bad email, despite the [-\._a-z0-9]* clearly stating
> > > that ampersands are not allowed. whaddafug?
> >
> > The regex is doing exactly what you've told it to do:
> >
> > [a-z0-9] Match exactly one alpha/number
> > [-\._a-z0-9]* Match zero or more alpha/number/dot/underscore/hyphen
> >
> > With the email address rich&[EMAIL PROTECTED] it's
> basically ignoring
> > the "rich&" bit and matching on the rest.
> >
> > Try replacing the regeg with this:
> >
> > ^[a-z0-9][-\._a-z0-9]*@([a-z0-9][-_a-z0-9]*\.)+[a-z]{2,6}$
> >
> > Note the opening ^ and closing $ : means that it matches
> exactly that
> > string -- the ^ is "beginning of string" and the $ is "end
> of string".
> > Not only does that make the regex, it also means you can change all
> > this:
> >
> > reversedmail = reverse(trim(email));
> > if (NOT refindnocase("[a-z0-9]", left(reversedmail,1))) {
> > badmailvar = 1;
> > } else if (NOT refindnocase("[a-z0-9]", left(email,1))) {
> > badmailvar = 1;
> > } else if (listlen(email, "@") GT 2) {
> > badmailvar = 1;
> > } else if (NOT refindnocase(regex, email)) {
> > badmailvar = 1;
> > }
> >
> > To just this:
> >
> > if (NOT refindnocase(regex, email)) {
> > badmailvar = 1;
> > }
> >
> > Because the regex does all the work and you don't need the
> rest of the
> > tests.
> >
> > Tim.
> >
> >
> > -------------------------------------------------------
> > RAWNET LTD - Internet, New Media and ebusiness Gurus.
> > Visit our new website at http://www.rawnet.com for
> > more information about our company, or call us free
> > anytime on 0800 294 24 24.
> > -------------------------------------------------------
> > Tim Blair
> > Web Application Engineer, Rawnet Limited
> > Direct Phone : +44 (0) 1344 393 441
> > Switchboard : +44 (0) 1344 393 040
> > -------------------------------------------------------
> > This message may contain information which is legally
> > privileged and/or confidential. If you are not the
> > intended recipient, you are hereby notified that any
> > unauthorised disclosure, copying, distribution or use
> > of this information is strictly prohibited. Such
> > notification notwithstanding, any comments, opinions,
> > information or conclusions expressed in this message
> > are those of the originator, not of rawnet limited,
> > unless otherwise explicitly and independently indicated
> > by an authorised representative of rawnet limited.
> > -------------------------------------------------------
> >
> >
> >
> > --
> > ** Archive:
> http://www.mail-archive.com/dev%40lists.cfdeveloper.co.uk/
> >
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > For human help, e-mail: [EMAIL PROTECTED]
> >
>
>
> --
> ** Archive: http://www.mail-archive.com/dev%40lists.cfdeveloper.co.uk/
>
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> For human help, e-mail: [EMAIL PROTECTED]
>
--
** Archive: http://www.mail-archive.com/dev%40lists.cfdeveloper.co.uk/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
For human help, e-mail: [EMAIL PROTECTED]
--
** Archive: http://www.mail-archive.com/dev%40lists.cfdeveloper.co.uk/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
For human help, e-mail: [EMAIL PROTECTED]