Feedback

C# - prüfen ob String eine gültige IP ist

Veröffentlicht von am 24.06.2006
(3 Bewertungen)
Mit dieser Funktion wird geprüft, ob der übergebene String ein Gültige IP Adresse ist.
Bsp:
"0.0.0.0" bis "255.255.255.255" ist gültig
"1.2.3.256" oder "0.0.2" ist ungültig
GFU-Schulungen  [Anzeige]

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

/// <summary>
/// Determines whether the specified string is an IP address.
/// </summary>
/// <param name="IP">The string.</param>
/// <returns>
/// 	<c>true</c> if the specified IP is IP; otherwise, <c>false</c>.
/// </returns>
private bool IsIP(string IP)
{
    return System.Text.RegularExpressions.Regex.IsMatch(IP, @"\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\b");
}

4 Kommentare zum Snippet

Hatto schrieb am 01.08.2007:
Hallo, für meine Begriffe gehört ganz hinen noch ein $ dran, ansonsten ist auch "1.2.3.4abc" eine gültige IP Adresse.
Gruß aus Bottrop
Hatto schrieb am 01.08.2007:
ooops,
sollte heißen "1.2.3.4 abc" statt "1.2.3.4abc" (mit einem blank dazwischen)
und (natürlich) hinten statt hinen!
Jan Welker schrieb am 02.08.2007:
Hallo,
Danke für den Hinweis. Ich habe den Fehler korrigiert.
Christian Glowinski schrieb am 17.03.2011:
Um es leserlicher zu machen, würde ich es so schreiben. Ist aber reine Geschmackssache.

const string From0To199 = "[01]?[0-9][0-9]?";
const string From200To249 = "2[0-4][0-9]";
const string From250To255 = "25[0-5]";
const string OneIPPlace = "(" + From250To255 + "|" + From200To249 + "|" + From0To199 + ")";

private bool IsIP(string IP)
{
return System.Text.RegularExpressions.Regex.IsMatch(IP, "\\b(" + OneIPPlace + "\\.){3}" + OneIPPlace + "$\\b");
}
 

Logge dich ein, um hier zu kommentieren!