RE: Regex help maybe
Thanks to everyone. I managed to come up with one similar to Byron's example and then tweaked it further (No spaces) so I could use it in JS on the client and CF on the server. I knew I could do it in 2 or three steps but wanted one step so I could hand off the regex to the client for validation. Dennis Powers UXB Internet - A website Design and Hosting Company P.O. Box 6028, Wolcott, CT 06716 - T:203-879-2844 W: http://www.uxbinternet.com W: http://www.ctbusinesslist.com So like this in the second variant: ^(?=.*\d.*\d.*\d)(?=.*[\~\!\@\#\$\%\^\\*\(\)\_\+]+)[\d\~\!\@\#\$\%\^\\*\(\ )\_\+]{10,20}$ ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:358980 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
RE: Regex help maybe
Can't really help you with the regex, but regexlib.com might help you with future ones. I use it whenever I need a regular expressions -Original Message- From: UXB [mailto:denn...@uxbinternet.com] Sent: Monday, July 21, 2014 6:30 PM To: cf-talk Subject: Regex help maybe I am terrible at Regex's. I looked all over and am going blind. Is there anyone here that can shorted my search? I need one to test true for: 10 to 20 Characters in length 3 numeric characters in any order 1 special character from basic list ~!@#$%^*()_+ Any help is appreciated. Dennis Powers UXB Internet - A website Design and Hosting Company P.O. Box 6028, Wolcott, CT 06716 - T:203-879-2844 W: http://www.uxbinternet.com W: http://www.ctbusinesslist.com ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:358938 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: Regex help maybe
X{10,20} means that X should exist at least 10 times but no more than 20 times [0-9] means any single number from 0 till 9 [0-9]{3} means any 3 numbers of 0-9 one after the other [~!@#$%^*()_+] means a single character from the set of characters defined between the brackets Now do you want 3 numbers one after the other or that there should be 3 numbers in the string total? Can you send a few example strings or talk about how it will be used? Also, do you want a single regex to do it all or can be it be in 2-3 steps (easiest)? On Mon, Jul 21, 2014 at 5:29 PM, UXB denn...@uxbinternet.com wrote: I am terrible at Regex's. I looked all over and am going blind. Is there anyone here that can shorted my search? I need one to test true for: 10 to 20 Characters in length 3 numeric characters in any order 1 special character from basic list ~!@#$%^*()_+ Any help is appreciated. Dennis Powers UXB Internet - A website Design and Hosting Company P.O. Box 6028, Wolcott, CT 06716 - T:203-879-2844 W: http://www.uxbinternet.com W: http://www.ctbusinesslist.com ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:358940 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: Regex help maybe
I need one to test true for: I doubt you can do this with only one test, but using 3 tests is easy: 10 to 20 Characters in length 3 numeric characters in any order 1 special character from basic list ~!@#$%^*()_+ This should do it: CFSET stringOK = (len(form.text) GTE 20 AND len(form.text) LTE 30 AND arrayLen(ReMatch (\d, form.text)) EQ 3 AND arrayLen(ReMatch ([~!@##$%^*()_+], form.text)) EQ 1) Adjust the logical operator depending what ou need is at least or exactly. ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:358944 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: Regex help maybe
This would do one special, 3 consecutive numbers: ajfds123jdfs# ^(?=.*\d{3})(?=.*[\~\!\@\#\$\%\^\\*\(\)\_\+]+).{10,20}$ This would do one special, 3 numbers any position: a#bcdef2k3#4^ ^(?=.*\d.*\d.*\d)(?=.*[\~\!\@\#\$\%\^\\*\(\)\_\+]+).{10,20}$ And if your restricting to just numbers and the special chars outline, replace the last . in either to this. [\d\~\!\@\#\$\%\^\\*\(\)\_\+] So like this in the second variant: ^(?=.*\d.*\d.*\d)(?=.*[\~\!\@\#\$\%\^\\*\(\)\_\+]+)[\d\~\!\@\#\$\%\^\\*\(\)\_\+]{10,20}$ Plenty of online regex testers as well so you don't have to keep coding it up to tweak. I use this one a bit. http://regexpal.com/ Byron Mann Lead Engineer Architect HostMySite On Mon, Jul 21, 2014 at 5:29 PM, UXB denn...@uxbinternet.com wrote: I am terrible at Regex's. I looked all over and am going blind. Is there anyone here that can shorted my search? I need one to test true for: 10 to 20 Characters in length 3 numeric characters in any order 1 special character from basic list ~!@#$%^*()_+ Any help is appreciated. Dennis Powers UXB Internet - A website Design and Hosting Company P.O. Box 6028, Wolcott, CT 06716 - T:203-879-2844 W: http://www.uxbinternet.com W: http://www.ctbusinesslist.com ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:358953 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm