Regex для проверки IPv4-адреса
Проверить IPv4 можно регуляркой, которая ограничивает каждый октет диапазоном от 0 до 255. Для прикладного кода предпочтительнее стандартный сетевой парсер или проверенная библиотека, если она уже есть в проекте.
Регулярное выражение для IPv4
const ipv4Pattern = /^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;
console.log(ipv4Pattern.test('192.168.1.10')); // true
console.log(ipv4Pattern.test('256.1.1.1')); // false
console.log(ipv4Pattern.test('192.168.1')); // falseКаждая группа принимает число от 0 до 255; шаблон требует четыре группы, разделённые тремя точками.
Что эта проверка не определяет
Форматно корректный IP может быть зарезервирован, недоступен или не относиться к нужной сети. Для сетевого доступа дополнительно проверьте диапазон, маршрут и политику приложения.
Проверка | Пример |
|---|---|
Четыре октета |
|
Октет не выше 255 |
|
Политика сети | Проверяется отдельно от синтаксиса |
Проверяет ли это IPv6?
Нет, IPv6 имеет другой формат. Используйте парсер, который поддерживает оба семейства адресов.
Почему 127.0.0.1 проходит проверку?
Это корректный IPv4 синтаксически, но loopback-адрес. Проверка допустимости адреса зависит от задачи и должна выполняться отдельно.