On 10/7/09 6:04 AM, "Ashley Sheridan" <ash@xxxxxxxxxxxxxxxxxxxx> wrote: > On Wed, 2009-10-07 at 10:57 +0100, MEM wrote: >> Hello all, >> >> >> I'm having this strange behavior, and I do not understanding why... >> >> When I use FILTER_VALIDATE_INT I'm unable to get, on my input box, values >> starting with 0(zero), or values that are greater (in length) then 10 >> digits. >> >> I was expecting to be able to input the all range of integers. >> >> >> I've tried this: >> >> if (!filter_var($telefone, FILTER_VALIDATE_INT)) >> { >> $erros['telefone'] = 'Invalid Teléfono - Only Numbers Allowed.'; >> } >> >> And this: >> if (!filter_var($telefone, FILTER_VALIDATE_INT, array("options" => >> array("min_range"=>-1, "max_range"=>9999999999999)))) >> { >> $erros['telefone'] = 'Invalid Teléfono - Only Numbers Allowed.'; >> } >> >> And this: >> if (filter_var($telefone, FILTER_VALIDATE_INT, array("options" => >> array("min_range"=>0, "max_range"=>99999999999999999))) == false ) >> { >> $erros['telefone'] = 'Invalid Teléfono - Only Numbers Allowed.'; >> } >> >> No success. :s >> >> What am I not getting? >> >> >> Thanks, >> Márcio >> >> >> Ps- Anyone knows where can we grab a good source information about >> FILTER_VALIDATE_INT specifically? >> >> > > Well, at a guess, if a number is 0, PHP see's that as equivalent to a > false. Also, numbers over 10 digits may be going over the limit for your > PHP install, assuming PHP actually attempts to convert the string to a > real integer for the purpose of the filter. isn't a numeric string starting with 0 taken as octal? if so then 8 and 9 might cause validation errors. > For things this simple, I've always tended to go with something like > this: > > if(!preg_match('^[0-9 \+]$', $telefone)) > { > $erros['telefone'] = 'Invalid Teléfono - Only Numbers Allowed.'; > } > > Which will check for all common types of phone numbers, including those > where the user has put spaces in to separate groups of digits, and those > that contain the + for country codes. right. phone numbers are not integers. people also often use parentheses, hyphens or dots in them. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php