vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Variablen/Strings · String-Operationen   |   VB-Versionen: VB605.08.08
Feststellen, ob ein String eine gängige IP-Adresse ist

Mit dieser Funktion lässt sich prüfen, ob es sich bei dem übergebenen String um eine gültige IP-Adresse handelt.

Autor:   RobertBewertung:  Views:  10.956 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Mit dieser Funktion lässt sich prüfen, ob es sich bei dem übergebenen String um eine gültige IP-Adresse handelt.

Dazu muss man wissen, welche Konventionen für IP-Adressen gelten:

  • Eine IP-Adresse enthält 4 jeweils durch einen Punkt getrennte Zahlenblöcke. Es gibt also 3 Punkte.
  • Jeder dieser Zahlenblöcke ist (selbstverständlich) numerisch.
  • Der erste Zahlenblock muss im Bereich 10-255 liegen, die weiteren 3 Blöcke im Bereich 0 bis 255.

Das Ganze verpacken wir jetzt noch in eine schöne kuschelige Funktion:

' Prüft, ob es sich bei dem übergebenen String um
' eine IP-Adresse handeln kann
Private Function isValidIP(ByVal IP As String) As Boolean
  Dim arr() As String
  Dim bValid As Boolean
  Dim value As Long
  Dim i As Long
 
  ' Falls ein Fehler auftritt
  On Local Error GoTo ErrHandler
 
  ' Zahlenblöcke extrahieren
  bValid = False
  arr = Split(IP, ".")
 
  ' Wenn es nicht 4 Zahlenblöcke sind, dann kann es keine IP sein
  If UBound(arr) = 3 Then
    ' jetzt jeden Zahlenblock einzeln untersuchen:
    bValid = True
    For i = 0 To UBound(arr)
      ' besteht er nur aus Zahlen?
      If IsNumeric(arr(i)) = False Then
        bValid = False: Exit For
      End If
 
      value = Val(arr(i))
 
      ' 1. Oktett muss im Bereich 10 und 255 liegen!
      If i = 0 Then
        If value < 10 Or value > 255 Then
          bValid = False: Exit For
        End If
      Else
        ' alle anderen Oktetts müssen zwischen 0 und 255 liegen!
        If value < 0 Or value > 255 Then
          bValid = False: Exit For
        End If
      End If
    Next i
  End If
  On Error GoTo 0
 
  ' Ergebnis zurückgeben
  isValidIP = bValid
  Exit Function
 
ErrHandler:
  isValidIP = False
End Function



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.