static function ip($value) { if (!MValidate::string($value)) { return false; } $segments = explode('.', $value); if (sizeof($segments) != 4) { return false; } if ($segments[0][0] == '0') { return false; } foreach ($segments as $segment) { if ($segment == '' || strlen($segment) > 3) { return false; } if (preg_match('/[^0-9]/', $segment)) { return false; } if ($segment > 255) { return false; } } return true; }