Mailinglisten-Archive |
Tach,
> Dein Ausdruck wuerde aber auch folgendes akzeptieren:
>
> 359.982.2.0
> 0.1.2.4
Meine Rede.
> Korrekt waere:
Fast.
> function addr_is_valid($val)
> {
>
> $tocheck = array();
> $tocheck = explode('.', $val);
> $size = sizeof($tocheck);
>
> if ($size != 4 || $tocheck[0] <= 0)
> return FALSE;
>
> for ($i = 0; $i < $size; ++$i)
> {
> if (intval($tocheck[$i]) < 0 || intval($tocheck[$i]) >
255)
> return FALSE;
> }
>
> return TRUE;
> }
Das akzeptiert nämlich auch 192a.168.0.1 . Auch Murks
Du mußt noch mit is_int($tocheck[$i]) überprüfen, obs wirklich eine Zahl
ist. Also:
for ($i = 0; $i < $size; ++$i)
{
if (intval($tocheck[$i]) < 0 || intval($tocheck[$i]) > 255
|| (!is_int($tocheck[$i]) ) )
return FALSE;
}
Gutgehn
Bylle
php::bar PHP Wiki - Listenarchive