Re: PCRE regexp bug ?

From: Date: Fri, 15 Aug 2003 16:23:18 +0000
Subject: Re: PCRE regexp bug ?
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-159714@lists.php.net to get a copy of this message
* Thus wrote tpc@csua.berkeley.edu (tpc@csua.berkeley.edu): > > I use preg_match to validate the Middle Initial field of a form and so far > it works, except yesterday a user submitted a "0" (zero) as a middle > initial! My regexp is: > > if (!empty($_POST[MI]) && (preg_match('/^[[:alpha:]]{1,1}$/', $_POST[MI]) == > 0)) > > I tested it with 0-9 and my regexp catches every digit except 0. Curious... actaually 0-9 will never match that regexp. print preg_match('/^[[:alpha:]]{1,1}$/', '1'); yields: 0 The reason is that 0-9 is not alpha. You should use [[:alnum:]] instead. Or better yet /^\w{1,1}$/ HTH, Curt -- "I used to think I was indecisive, but now I'm not so sure."

« previous php.general (#159714) next »