PHP function to test if an IP is an IPV6 address

This function will tell you if an IP address is a valid IPV6 address.

function is_ipv6($ip) {
    // If it contains anything other than hex characters, periods, colons or a / it's not IPV6
    if (!preg_match("/^([0-9a-f\.\/:]+)$/",strtolower($ip))) { return false; }

    // An IPV6 address needs at minimum two colons in it
    if (substr_count($ip,":") < 2) { return false; }

    // If any of the "octets" are longer than 4 characters it's not valid
    $part = preg_split("/[:\/]/",$ip);
    foreach ($part as $i) { if (strlen($i) > 4) { return false; } }

    return true;
}


Note: Replies will be formatted with PHP Markdown Extra syntax.

Name: Email (Not Required):
 
Logged IP: 54.198.157.15
To prevent spam please submit by clicking the kitten: