Regex untuk alamat IPv4

Gunakan /^(?:(?: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)$/ untuk memeriksa apakah seluruh string adalah alamat IPv4 yang valid. Setiap contoh di bawah sudah diuji dengan pola ini, dan kamu bisa membukanya di Regex Tester dengan contoh yang sudah terisi.

Diperbarui

/^(?:(?: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)$/
Buka di Regex Tester
InputHasil
192.168.1.1✓ Cocok
8.8.8.8✓ Cocok
255.255.255.255✓ Cocok
0.0.0.0✓ Cocok
256.1.1.1✗ Tidak cocok
192.168.1✗ Tidak cocok
01.2.3.4✗ Tidak cocok
1.2.3.4.5✗ Tidak cocok
192.168.1.1/24✗ Tidak cocok

Cara kerja pola

BagianArti
25[0-5]250–255
2[0-4]\d200–249
1\d\d100–199
[1-9]?\d0–99, tanpa angka nol di depan
(?:…\.){3}Tiga angka, masing-masing diikuti titik
(?:…)$Angka keempat, lalu akhir string

Contoh kode

JavaScript

const re = /^(?:(?: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)$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'(?:(?: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)', value))

PHP

preg_match('/^(?:(?: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)$/', $value) === 1;

Catatan dan batasan

Setiap oktet diperiksa agar nilainya 0–255, yang tidak bisa dilakukan oleh pola \d{1,3} yang sederhana. Angka nol di depan ditolak karena beberapa sistem membacanya sebagai oktal. Untuk menerima notasi CIDR, tambahkan (?:\/(?:3[0-2]|[12]?\d))? sebelum $.

Pertanyaan yang sering diajukan

Apa regex untuk alamat IPv4?
/^(?:(?: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)$/ — pola ini mencocokkan seluruh string. Lihat tabel di atas untuk fungsi setiap bagiannya.
Contoh mana yang cocok?
Dari contoh yang diuji, yang cocok adalah: 192.168.1.1, 8.8.8.8, 255.255.255.255, 0.0.0.0. Sisanya tidak cocok.
Bagaimana cara menguji regex ini?
Klik “Buka di Regex Tester” — pola, flag, dan teks contoh akan termuat otomatis, dan kecocokannya akan disorot saat kamu mengedit.