# lists@xxxxxxxxx / 2007-01-18 01:48:25 -0800: > Roman Neuhauser wrote: > ># lists@xxxxxxxxx / 2007-01-17 17:02:12 -0800: > >>Beauford wrote: > >>> if(!preg_match("/^[-A-Za-z0-9_.' ]+$/", $string)) { > >>> return "Invalid Characters"; > >>>} > > > >>In your regex you have a "." this will match anything > >> > >>try this: > >> > >><plaintext><?php > >> > >>function ValidateString($string) { > >> if ( preg_match("/[^a-zA-Z0-9\_\.\' -]+/", $string) ) { > >> return "Invalid Characters"; > >> } > >> return false; > >>} > > > >That "." is inside a character class where it is a literal character > >(matches only "."). Why are you backslashing the underscore is beyond > >me. > > > This is fine, is there any harm in escaping them? > The match will work either way right? It's misleading. I don't want to be confronted with another legacy program full of almost-reular expressions whose author didn't understand the syntax at all, but was so stubborn that he eventually (using the hit-and-miss method) found whatever garbage worked for him for completely accidental reasons. Know your tools. -- How many Vietnam vets does it take to screw in a light bulb? You don't know, man. You don't KNOW. Cause you weren't THERE. http://bash.org/?255991 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php