如题,记得以前看过代码,硬是想不起来了是用个什么函数格式化吧。。我也不会用,谁知道的

解决方案 »

  1.   

    用正则匹配加split
    [0-2][0-9][0-9].[0-2][0-9][0-9].[0-2][0-9][0-9].[0-2][0-9][0-9]忘记是不是 \.了,查一下就知道了,不过这样有点儿问题,还有一个办法就是用split(str,".")
    然后判断每一位是不是小于255
      

  2.   

    Function CheckIP(ByVal str As String) As Boolean
        Dim i As Long
        Dim IP() As String
        IP = Split(str, ".")
        If UBound(IP) <> 3 Then
            CheckIP = False
            Exit Function
        End If
        For i = 0 To 3
            If Not IsNumeric(IP(i)) Then
                CheckIP = False
                Exit Function
            End If
            If CLng(IP(i)) > 254 Then
                CheckIP = False
                Exit Function
            End If
        End If
        
    End Function
      

  3.   

    简化一点的CheckIP函数:Option ExplicitFunction CheckIP(ByVal str As String) As Boolean
        Dim i As Long, S() As String
        S = Split(str, ".")
        CheckIP = False
        If UBound(S) = 3 Then
            For i = 0 To 3
                If Not IsNumeric(S(i)) Or Trim(S(i)) <> S(i) Then Exit Function
                If CLng(S(i)) > 255 Or CLng(S(i)) < 0 Then Exit Function
            Next i
            CheckIP = True
        End If
    End FunctionPrivate Sub Form_Load()
        Debug.Print CheckIP("192.168.1.1")
        Debug.Print CheckIP("192.168.1.-1")
        Debug.Print CheckIP("192.168.1.256")
        Debug.Print CheckIP("10 .1  .1  .4")            '这样的写法也算作不正确
        End
    End Sub