phpbar.de logo

Mailinglisten-Archive

Re[2]: [php] ereg()

Re[2]: [php] ereg()

Timo Schmidt php_(at)_phpcenter.de
Thu, 11 Jul 2002 13:38:48 +0200


* Beck, Mike <mike.beck_(at)_ibmiller.de> [2002-07-11 13:15:24]:
>
> [...]
>
> da fehlte noch was:
> if ( ereg( "^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$",
> $str1, $regs ) ){
>
> das $ am ende des ausdrucks ist wichtig sonst würde er auch
> 123.45.6.7x
> als $str1 akzeptieren.

Dein Ausdruck wuerde aber auch folgendes akzeptieren:

359.982.2.0
0.1.2.4

Korrekt waere:

    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;
    }


  -Timo


php::bar PHP Wiki   -   Listenarchive