PHP IP 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 17:52 UTC
Read the original article Hit count: 342

Filed under:
|
|

Hello,

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