phpbar.de logo

Mailinglisten-Archive

Re[2]: [php] ereg()

Re[2]: [php] ereg()

Sibylle Bölling php_(at)_phpcenter.de
Thu, 11 Jul 2002 13:55:24 +0200


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