NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
IP Address Regex Java Validator

IP Address Regex Java Validator

Der IP Address Regex Java Validator hilft Java-Entwicklern zu überprüfen, ob ein Eingabe-String eine gültige IPv4- oder IPv6-Adresse ist. Nützlich für Backend-Validierungen, Formulareingaben, Firewalls, Netzwerk-Utilities und alle Anwendungen mit IP-bezogener Logik.


Verwandte Java-Tools:


IP Address Regex Java Validator, Dokumentation

Was ist eine IP-Adresse?

Eine IP (Internet Protocol) Adresse ist eine eindeutige Kennung für Geräte in einem Netzwerk. Sie existiert in zwei Formaten:

  • IPv4: 4 dezimale Oktette (z. B. 192.168.0.1)

  • IPv6: 8 hexadezimale Blöcke (z. B. 2001:0db8:85a3:0000:0000:8a2e:0370:7334)

Eine korrekte Validierung stellt sicher, dass Daten-Routing und Geräteidentifikation reibungslos funktionieren.

IP-Adressen-Regex-Muster


IPv4-Regex-Muster:

^((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.|$)){4}$

Erläuterung:

  • Stellt vier Zahlenblöcke sicher

  • Jeder Block liegt im Bereich 0 bis 255

  • Punkte trennen die Blöcke

So funktioniert das Muster für IPv4-Adressen:

  • 25[0-5]: Stimmt mit 250 bis 255 überein

  • 2[0-4]\d: Stimmt mit 200 bis 249 überein

  • 1\d\d: Stimmt mit 100 bis 199 überein

  • [1-9]?\d: Stimmt mit 0 bis 99 überein (ein- oder zweistellig, ohne führende Nullen außer bei 0 selbst)


IPv6-Regex-Muster:

^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$

Erläuterung:

  • Stellt 8 Gruppen aus 1 bis 4 Hex-Ziffern sicher

  • Gruppen werden durch Doppelpunkte getrennt

JavaScript-Beispiel: IP-Adressen validieren

// Regular expressions for IPv4 and IPv6
const ipv4Pattern = /^((25[0-5]2[0-4]\d1\d\d[1-9]?\d)(\.$)){4}$/;
const ipv6Pattern = /^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/;

function validateIPAddress(ip) { if (ipv4Pattern.test(ip)) { return "Valid IPv4 Address"; } if (ipv6Pattern.test(ip)) { return "Valid IPv6 Address"; } return "Invalid IP"; }

console.log(validateIPAddress("127.0.0.1")); console.log(validateIPAddress("2001:0db8:85a3:0000:0000:8a2e:0370:7334")); console.log(validateIPAddress("300.168.0.1"));

Java-Code-Beispiel (IPv4)

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class IPv4Validator { public static void main(String[] args) { String ip = "192.168.1.1"; String ipv4Regex = "^((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.|$)){4}$";

    Pattern pattern = Pattern.compile(ipv4Regex);
    Matcher matcher = pattern.matcher(ip);

    if (matcher.matches()) {
        System.out.println("Valid IPv4 Address");
    } else {
        System.out.println("Invalid IPv4 Address");
    }
}

}

Häufige Validierungsszenarien

Testfall 1

  • Eingabe: 000.12.12.034

  • Ausgabe: true

Testfall 2

  • Eingabe: 121.234.12.12

  • Ausgabe: true

Testfall 3

  • Eingabe: 000.12.234.23.23

  • Ausgabe: false

Testfall 4

  • Eingabe: I.Am.not.an.ip

  • Ausgabe: false

Java-Code-Beispiel (IPv6)

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class IPv6Validator { public static void main(String[] args) { String ip = "2001:0db8:85a3:0000:0000:8a2e:0370:7334"; String ipv6Regex = "^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$";

    Pattern pattern = Pattern.compile(ipv6Regex);
    Matcher matcher = pattern.matcher(ip);

    if (matcher.matches()) {
        System.out.println("Valid IPv6 Address");
    } else {
        System.out.println("Invalid IPv6 Address");
    }
}

}

Beispieleingaben

Gültige IPv4:

  • 127.0.0.1

  • 192.168.100.100

Ungültige IPv4:

  • 256.300.888.1

  • 192.168.1

Gültige IPv6:

  • 2001:0db8:85a3:0000:0000:8a2e:0370:7334

  • fe80::1ff:fe23:4567:890a

Ungültige IPv6:

  • 2001:db8:85a3::8a2e:370g:7334 (ungültige Zeichen)

  • 1234:5678:90ab (zu kurz)

Weitere Beispiele:

Eingabe

Ausgabe

203.120.223.13

Gültige IPv4

000.12.234.23.23

Ungültige IP

2F33:12a0:3Ea0:0302

Ungültige IP

I.Am.not.an.ip

Ungültige IP

Performance-Überlegungen

Zeitkomplexität:
Die Validierung einer IP-Adresse mit diesen regulären Ausdrücken läuft in linearer Zeit, d. h. O(N), wobei N die Länge der Eingabe ist.

Speicherkomplexität:
Der Speicherverbrauch bleibt konstant bei O(1), da die Regex-Engine keinen zusätzlichen Speicher benötigt, der mit der Eingabegröße skaliert.

Anwendungsfälle

  • Anmeldeversuche verfolgen: IPs bei fehlgeschlagenen oder erfolgreichen Anmeldungen protokollieren.

  • Geo-IP-Verarbeitung: Nutzerstandorte anhand von IPs ermitteln.

  • API-Whitelisting: Eingehende IPs gegen Erlaubnislisten validieren.

  • Formularvalidierung: Nur korrekt formatierte IPs in Admin-Panels oder Dashboards akzeptieren.

Profi-Tipps

  • Verwenden Sie separate Regex-Muster für IPv4 und IPv6, um Verwechslungen zu vermeiden.

  • Bereinigen Sie die Eingabe vor der Validierung (z. B. Leerzeichen entfernen).

  • Verlassen Sie sich nicht ausschließlich auf Regex: Nach der Formatvalidierung können Sie InetAddress.getByName() verwenden, um den Routing-Status zu bestätigen.

  • Verwenden Sie den Java Regex Tester, um benutzerdefinierte Varianten (z. B. CIDR-Bereiche) zu testen und zu verfeinern.

Kombinieren Sie dieses Tool mit

Frequently Asked Questions

Unterstützt dieser Validator sowohl IPv4 als auch IPv6?

Ja, Sie müssen jedoch separate Regex-Muster für jedes Format verwenden.

Reicht dieses Regex aus, um zu prüfen, ob eine IP existiert?

Nein, Regex validiert nur das Format. Verwenden Sie DNS- oder Netzwerktools, um die Existenz zu bestätigen.

Sind führende Nullen in IPv4 gültig?

Technisch ja, aber sie können mehrdeutig sein. Manche Systeme interpretieren sie als Oktalzahlen.

Kann ich komprimiertes IPv6 validieren?

Dieses Regex unterstützt nur das vollständige Format. Passen Sie das Muster an, wenn Sie komprimierte Formen (::) benötigen.

Sollte ich IPs als Strings oder Zahlen speichern?

Speichern Sie IPs als Strings für bessere Lesbarkeit, es sei denn, Sie indizieren für Performance (z. B. bei CIDR-Prüfungen).

Testen Sie Ihre APIs noch heute!

Schreiben Sie auf Deutsch, Qodex wandelt Ihre Eingabe in sichere, sofort ausführbare Tests um.