* Thus wrote [EMAIL PROTECTED] ([EMAIL PROTECTED]):
> 
> 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."

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to