Проверяет, является ли строка IP адрессом или именем хоста
'В случае успеха, возвращает True Private Function IsValidIPHost(ByVal HostString As String) As Boolean Dim sSplit() As String Dim i As Integer Dim blnDomain As Boolean Dim TOP_DOMAINS As String
'для проверки доменного имени верхнего уровня TOP_DOMAINS = "COM OrG NET EDU GOV MIL INT AF AL DZ As " & _ "AD AO AI AQ AG AR AM AW AC AU AT AZ BS BH BD BB BY BZ BT BJ " & _ "BE BM BO BA BW BV BR IO BN BG BF BI KH CM CA CV KY CF TD CL " & _ "CN CX CC CO KM CD CG CK CR CI HR CU CY CZ DK DJ DM Do TP EC " & _ "EG SV GQ ER EE ET FK FO FJ FI FR GF PF TF GA GM GE DE GH GI " & _ "GR GL GD GP GU GT GG GN GW GY HT HM VA HN HK HU Is IN ID IR " & _ "IQ IE IM IL IT JM JP JE JO KZ KE KI KP KR KW KG LA LV LB LS " & _ "LR LY LI LT LU MO MK MG MW MY MV ML MT MH MQ MR MU YT MX FM " & _ "MD MC MN MS MA MZ MM NA NR NP NL AN NC NZ NI NE NG NU NF MP " & _ "NO OM PK PW PA PG PY PE PH PN PL PT PR QA RE RO RU RW KN LC " & _ "VC WS SM ST SA SN SC SL SG SK SI SB SO ZA GS ES LK SH PM SD " & _ "SR SJ SZ SE CH SY TW TJ TZ TH TG TK To TT TN TR TM TC TV UG " & _ "UA AE GB US UM UY UZ VU VE VN VG VI WF EH YE YU ZR ZM ZW UK"
HostString = UCase$(Trim$(HostString))
sSplit = Split(HostString, ".")
' проверяем строку на формат 'xxx.xxx.xxx.xxx' (IP адресс) If UBound(sSplit) = 3 Then For i = 0 To 3 If Not IsNumeric(sSplit(i)) Then blnDomain = True
If i = 0 Then If Val(sSplit(i)) > 239 Then blnDomain = True Else If Val(sSplit(i)) > 255 Then blnDomain = True End If Next If blnDomain = False Then IsValidIPHost = True Exit Function End If End If
'проверяет, существует ли доменое имя верхнего уровня If UBound(sSplit) > 0 And InStr(TOP_DOMAINS, sSplit(UBound(sSplit))) > 0 Then IsValidIPHost = True Exit Function End If
Если Вас заинтересовала или понравилась информация программирование на Visual Basic - "Проверяет, является ли строка IP адрессом или именем хоста", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу: Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!