Validate IPv4 Address in PHP

Today I am going to tell how to validate IPv4 / IP address using PHP. Simple function which will used to check client IP address is valid or not.
Steps to validate IPv4 Address in PHP
  • Split IP address into segments  by dot(.)  using explode function
  • Make sure that there are 4 segments (eg : 192.168.1.45)
  • Make sure that IP cannot start with 0
  • IP segments must be digits & cannot be longer than 3 digits or greater than 255
function validate_ip($ip)
{
 //split ip address in to array by dot
 $ip_segments = explode('.', $ip);
 // Always 4 segments needed
 if (count($ip_segments) !== 4)
 {
  return FALSE;
 }
 // IP can not start with 0
 if ($ip_segments[0][0] == '0')
 {
  return FALSE;
 }
 // Check each segment
 foreach ($ip_segments as $segment)
 {
  // IP segments must be digits and can not be
  // longer than 3 digits or greater then 255
  if ($segment == '' OR preg_match("/[^0-9]/", $segment) OR $segment > 255 OR strlen($segment) > 3)
  {
   return FALSE;
  }
 }
 return TRUE;
}

//usuage
$ip = validate_ip("192.168.1.43");
if($ip)
{
  echo "Valid IP";
} else {
  echo "Invalid IP";
}


This function will return boolean true or false

No comments:

Post a Comment