IPv4 adreslerini (192.168.1.1) ve IPv6 adreslerini eşleştirmek ve doğrulamak için regex desenleri. CIDR gösterimi ve özel ağ algılamayı içerir.
10.0.0.255indeks 12172.16.0.1indeks 23255.255.255.0indeks 348.8.8.8indeks 480.0.0.0indeks 88127.0.0.1indeks 96Yukarıdaki desen yalnızca geçerli IPv4 adresleriyle eşleşir. Test stringlerinden 192.168.1.1, 10.0.0.255, 172.16.0.1, 255.255.255.0, 8.8.8.8, 0.0.0.0 ve 127.0.0.1 ile eşleşir. 999.999.999.999, 256.1.1.1 ve 1.2.3’ü (sadece üç sekizli) reddeder.
Her sekizli, 0-255 aralığını zorlamak için üç yönlü bir alternasyon kullanır:
| Alternasyon dalı | Kapsanan aralık | Örnek eşleşmeler |
|---|---|---|
25[0-5] |
250-255 | 250, 255 |
2[0-4]\d |
200-249 | 200, 214, 249 |
[01]?\d\d? |
0-199 | 0, 99, 192 |
\d+\.\d+\.\d+\.\d+ çoğu kişinin denediği ilk şeydir. İki yönde başarısız olur:
Geçerli IP adresleri olmayan stringlerle eşleşir. 999.999.999.999 eşleşir çünkü \d+ sayısal değere sınır koymaz.
Daha uzun stringlerin içinde yanlış pozitifler üretebilir. Kelime sınırları olmadan, desen sürüm stringlerinde, Unix zamanlarında ve ondalık sayılarda kısmi parçaları eşleştirir.
192.168.1.0/24 gibi CIDR bloklarını da eşleştirmek için, temel desenin sonuna (son \b’den önce) (\/([0-9]|[1-2]\d|3[0-2]))? ekleyin.
Standart 8 grup tam gösterim için:
([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}
RFC 1918 tarafından tanımlanan üç özel IPv4 aralığı:
| Aralık | CIDR | Regex öneki |
|---|---|---|
| A Sınıfı özel | 10.0.0.0/8 |
^10\. |
| B Sınıfı özel | 172.16.0.0/12 |
`^172.(1[6-9] |
| C Sınıfı özel | 192.168.0.0/16 |
^192\.168\. |
Kullanıcı tarafından gönderilen tek bir IP adresini doğrulamak için dil yerleşiklerini kullanın:
import ipaddress
try:
ipaddress.ip_address("192.168.1.1")
# geçerli
except ValueError:
# geçersiz
const net = require('net');
net.isIPv4('192.168.1.1'); // true
net.isIPv4('999.1.1.1'); // false
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.