IP Address Validation Help

Posted by Zubair1 on Stack Overflow See other posts from Stack Overflow or by Zubair1
Published on 2010-06-14T17:46:12Z Indexed on 2010/06/14 18:02 UTC
Read the original article Hit count: 210

Filed under:
|
|

I am using this IP Validation Function that I came across while browsing, it has been working well until today i ran into a problem.

For some reason the function won't validate this IP as valid: 203.81.192.26

I'm not too great with regular expressions, so would appreciate any help on what could be wrong.

If you have another function, I would appreciate if you could post that for me.

The code for the function is below:

public static function validateIpAddress($ip_addr)
{
    global $errors;

    $preg = '#^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}' .
            '(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$#';

    if(preg_match($preg, $ip_addr))
    {
        //now all the intger values are separated
        $parts = explode(".", $ip_addr);

        //now we need to check each part can range from 0-255
        foreach($parts as $ip_parts)
        {
            if(intval($ip_parts) > 255 || intval($ip_parts) < 0)
            {
                $errors[] = "ip address is not valid.";
                return false;
            }

            return true;
        }

        return true;
    } else {
        $errors[] = "please double check the ip address.";
        return false;
    }
}

© Stack Overflow or respective owner

Related posts about php

Related posts about validation