Rubrik: Variablen/Strings · String-Operationen | VB-Versionen: VB6 | 05.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: Robert | Bewertung: | Views: 10.956 |
ohne Homepage | System: 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