aw dang... I didn't read the email properly... sorry! ----- Original Message ----- From: "Damian Watson" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, January 28, 2003 2:10 PM Subject: Re: [ cf-dev ] Regular Expression for Email and Domain checking - it works!
> Impressive, but how about an email address such as [EMAIL PROTECTED] -- > obviously this can be incorporated into the regex, but does anyone know of a > comprehensive database or list of all valid domain names which one could > throw into the regex (presumably one could bundle in a | delimited list of > them) > > ----- Original Message ----- > From: "Robertson-Ravo, Neil (RX)" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Tuesday, January 28, 2003 1:43 PM > Subject: RE: [ cf-dev ] Regular Expression for Email and Domain checking - > it works! > > > > Holy shit....nice one... very nice indeed......... > > > > -----Original Message----- > > From: Paul Johnston [mailto:[EMAIL PROTECTED]] > > Sent: 28 January 2003 13:47 > > To: [EMAIL PROTECTED] > > Subject: [ cf-dev ] Regular Expression for Email and Domain checking - > > it works! > > > > > > Everyone, > > > > For those that can't be bothered to read to the bottom here is the regular > > expression for validating an email address: > > > > > ^[a-zA-Z0-9!##\$%&''\*\+-/=\?\^_`\{\|}~]+([.][a-zA-Z0-9!##\$%&''\*\+-/=\?\^_ > > > `\{\|}~]+)*@([a-z0-9]([-]|[a-z0-9])*[a-z0-9][.])+(([a-z0-9]([-]|[a-z0-9])*[a > > -z0-9])|com|co[.]uk|net|org|com[.]uk)$ > > > > Having read the various RFC's around the place about domains and emails, I > > just thought I'd let you know what I'd found out! > > > > Here is the regular expression for validating the part before an @ in an > > email address: > > > > [a-zA-Z0-9!#$%&'*+-/=?^_`{|}~]+([.][a-zA-Z0-9!#$%&'*+-/=?^_`{|}~]+)* > > > > Basically, according to RFC 2822 (and I haven't checked what's updated it > > yet, so this may still be incomplete), this is the form that an address > must > > take before the @ sign. It starts with either a digit or a number, or one > > of the other characters in there, and then can include a period, but must > > end in one of those characters (ie not in a period). There are 2 other > forms > > of email address, but they are mainly for use internally within a > mailserver > > (and are unimportant in terms of functionality of the regex) and it should > > be no problem to ignore them. > > > > My previous email outlined the regular expression for validating a domain > > name (simple form): > > > > > ([a-z0-9]([-]|[a-z0-9])*[a-z0-9][.])+(([a-z0-9]([-]|[a-z0-9])*[a-z0-9])|com| > > co[.]uk|net|org|com[.]uk) > > > > And you can create a regular expression for validating emails. Please > note, > > that none of this is tested, although it does look okay to me ;). The > > regular expression then for testing if an email is valid is: > > > > > [a-zA-Z0-9!#$%&'*+-/=?^_`{|}~]+([.][a-zA-Z0-9!#$%&'*+-/=?^_`{|}~]+)*@([a-z0- > > > 9]([-]|[a-z0-9])*[a-z0-9][.])+(([a-z0-9]([-]|[a-z0-9])*[a-z0-9])|com|co[.]uk > > |net|org|com[.]uk) > > > > (NOTE: watch the word wrap) > > > > Bearing in mind that CF needs to escape several of the characters in the > > regular expression, it becomes this: > > > > > [a-zA-Z0-9!##\$%&''\*\+-/=\?\^_`\{\|}~]+([.][a-zA-Z0-9!##\$%&''\*\+-/=\?\^_` > > > \{\|}~]+)*@([a-z0-9]([-]|[a-z0-9])*[a-z0-9][.])+(([a-z0-9]([-]|[a-z0-9])*[a- > > z0-9])|com|co[.]uk|net|org|com[.]uk) > > > > And also taking into account that you need to check the whole string, ie > > this must be from the start to the end, you get: > > > > > ^[a-zA-Z0-9!##\$%&''\*\+-/=\?\^_`\{\|}~]+([.][a-zA-Z0-9!##\$%&''\*\+-/=\?\^_ > > > `\{\|}~]+)*@([a-z0-9]([-]|[a-z0-9])*[a-z0-9][.])+(([a-z0-9]([-]|[a-z0-9])*[a > > -z0-9])|com|co[.]uk|net|org|com[.]uk)$ > > > > You can easily make this into a function or into a custom tag. In fact, > > I'll be nice and write the function for you: > > > > <cfscript> > > // returns true or false depending on whether or not it's valid > > function isValidEmail(emailstr) { > > regex = > > > "^[a-zA-Z0-9!##\$%&''\*\+-/=\?\^_`\{\|}~]+([.][a-zA-Z0-9!##\$%&''\*\+-/=\?\^ > > > _`\{\|}~]+)*@([a-z0-9]([-]|[a-z0-9])*[a-z0-9][.])+(([a-z0-9]([-]|[a-z0-9])*[ > > a-z0-9])|com|co[.]uk|net|org|com[.]uk)$"; > > if(REFind(regex, emailstr)) { > > return true; > > } > > else > > return false; > > } > > </cfscript> > > > > (NOTE: watch the word wrap again) > > > > I hope this helps you all sort your email addresses out okay now! > > > > Paul > > ------------------------------------------- > > Paul Johnston > > PJ Net Solutions Ltd > > http://www.pjnetsolutions.com > > [EMAIL PROTECTED] > > +44 (0)7866 573013 > > > > > > > > > > -- > > ** 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]