Either you may remove spaces:
$form["authpstcode"]=str_replace(' ','',$form["authpstcode"])
and then compare
or change your expresion to '(^\s*[a-z]\s*[0-9]\s*[a-z]\s*[0-9]\s*[a-z]\s*[0-9]\s*$)'
The first is better as you may put it into database column that is just char(6)


DonPro wrote:

Hi,

I'm trying to validate a Canadian postal code. I've already written a
function; code as follows:

if(!eregi('(^[a-z][0-9][a-z][0-9][a-z][0-9]$)',$form["authpstcode"])) {
$errors[] = 'You must input a valid Canadian postal code (A9A9A9) postal
code if he/she resides in Canada';
$continue = false;
}

The above works OK if the user enters --> M2M6N6

But fails if the user enters ---> M2M 6N6 (note the space between the two
triplets)

I want my function to validate either, i.e., allow a space between the two
triplets but not enforce it.

Any idea on how to modify my test?

Thanks,
Don





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

Reply via email to