Validar IP

Perdón por el largo código, pero no sé cómo simplificarlo… (Fabián)

Private Function ValidarIP(IPaValidar As String) As Boolean
    'Función ValidarIP 
    '****************** 
    ' 
    'Comprueba una cadena y verifica si es o no un número IP. 
    ' 
    'Uso: Boolean = ValidarIP(IPaValidar) 
    'Argumentos: 
    'IPaValidar: Cadena de caracteres (string) a evaluar como dirección IP 
    'Devuelve: 
    'Un valor del tipo Boolean: 
    'True cuando es una dirección IP, 
    'False cuando no lo es. 
    ' 
    'Copyright/Licencia: 
    'Autor: Fabián L. Arce Jofré  
    '(c) 27/05/1999, versión 1 
    'Licencia GPL/GNU, código fuente de libre distribución y uso. 
    'Pero agradecería un e-mail a fabian@arco-net.com.ar notificándome 
    'del uso de mi función para hacerme feliz. (:-) 

    PosPunto1 = InStr(1, IPaValidar, ".")
    PosPunto2 = InStr(PosPunto1 + 1, IPaValidar, ".")
    PosPunto3 = InStr(PosPunto2 + 1, IPaValidar, ".")
    PosPunto4 = InStr(PosPunto3 + 1, IPaValidar, ".")
    If PosPunto4  0 Then
        ValidarIP = False
        Exit Function
    Else
        If PosPunto1  0 Then
            If PosPunto2  0 Then
                If PosPunto3  0 Then
                    IPseccion1 = Mid(IPaValidar, 1, PosPunto1 - 1)
                    IPseccion2 = Mid(IPaValidar, PosPunto1 + 1, (PosPunto2 - PosPunto1) - 1)
                    IPseccion3 = Mid(IPaValidar, PosPunto2 + 1, (PosPunto3 - PosPunto2) - 1)
                    IPseccion4 = Mid(IPaValidar, PosPunto3 + 1)
                    If IsNumeric(IPseccion1) Then
                    If Val(IPseccion1) < 256 Then
                    If Val(IPseccion1) >= 0 Then
                        If IsNumeric(IPseccion2) Then
                        If Val(IPseccion2) < 256 Then
                        If Val(IPseccion2) >= 0 Then
                            If IsNumeric(IPseccion3) Then
                            If Val(IPseccion3) < 256 Then
                            If Val(IPseccion3) >= 0 Then
                                If IsNumeric(IPseccion4) Then
                                If Val(IPseccion4) < 256 Then
                                If Val(IPseccion4) >= 0 Then
                                    ValidarIP = True
                                    Exit Function
                                Else
                                    ValidarIP = False
                                    Exit Function
                                End If
                                Else
                                    ValidarIP = False
                                    Exit Function
                                End If
                                Else
                                    ValidarIP = False
                                    Exit Function
                                End If
                            Else
                                ValidarIP = False
                                Exit Function
                            End If
                            Else
                                ValidarIP = False
                                Exit Function
                            End If
                            Else
                                ValidarIP = False
                                Exit Function
                            End If
                        Else
                            ValidarIP = False
                            Exit Function
                        End If
                        Else
                            ValidarIP = False
                            Exit Function
                        End If
                        Else
                            ValidarIP = False
                            Exit Function
                        End If
                    Else
                        ValidarIP = False
                        Exit Function
                    End If
                    Else
                        ValidarIP = False
                        Exit Function
                    End If
                    Else
                        ValidarIP = False
                        Exit Function
                    End If
                Else
                    ValidarIP = False
                    Exit Function
                End If
            Else
                ValidarIP = False
                Exit Function
            End If
        Else
            ValidarIP = False
            Exit Function
        End If
    End If
End Function

Publicado en microsoft.public.es.vb por Fabián Leandro Arce Jofré

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s