125
Студентов
75%
Завершения
Solution.php
Реализуйте функцию-предикат isValidIPv6
, которая проверяет IPv6-адреса (адреса шестой версии интернет протокола) на корректность. Функция принимает на вход строку с адресом IPv6 и возвращает true
, если адрес корректный, а в противном случае false
.
Решение учителя использует библиотеку Funct, чуть ниже есть пример подключения функции из этой библиотеки.
Дополнительные условия:
- Работа функции не зависит от регистра символов
- Ведущие нули в группах цифр необязательны
- Самая длинная последовательность групп нулей, например,
:0:0:0:
может быть заменена на два двоеточия::
. Такую замену можно произвести только один раз
Примеры
<?php
isValidIPv6('10:d3:2d06:24:400c:5ee0:be:3d'); // true
isValidIPv6('0B0:0F09:7f05:e2F3:0D:0:e0:7000'); // true
isValidIPv6('000::B36:3C:00F0:7:937'); // true
isValidIPv6('::1'); // true
isValidIPv6('1001:208:67:4f00:e3::2c6:0'); // true
isValidIPv6('2607:G8B0:4010:801::1004'); // false
isValidIPv6('2.001::'); // false
isValidIPv6('9f8:0:69S0:9:9:d9a:672:f90d'); // false
<?php
use function Funct\Collection\flattenAll;
flattenAll(['a', ['b', ['c', ['d']]]]); // ['a', 'b', 'c', 'd']
Подсказки
- IPv6
- Для проверки пограничных случаев внимательно изучите список IP-адресов в модуле с тестами
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.