如何检查输入文本符合IP格式

nirvana_hg 2003-12-12 10:25:08
有个文本框就是Text啦,是负责输入一个IP地址保存到数据库里的,我想在保存时检查它是否是符合类似“xxx.xxx.xxx.xxx”这样的IP格式的,不符合提示用户。这样的方法怎么实现?哪位高手给一个完整可用的方法?我写个开头如下。
function checkIP(Dim inIp as String) as Boolean

可以重写这个函数,我意思是函数大概这样。

附:我不是用VB的,现用现问,因此以下两类回答不给分,请谅解
1、叫我去查API或看基础教程的
2、只给思路的
...全文
65 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nirvana_hg 2003-12-12
  • 打赏
  • 举报
回复
谢谢各位的回答,各位的办法我虽然没实现代码去验证,但我能看出是可行的。结帖了
3661512 2003-12-12
  • 打赏
  • 举报
回复
If IsIP("192.168.0.1") Then Msgbox "该IP地址为合法的"
3661512 2003-12-12
  • 打赏
  • 举报
回复
调用该函数返回是TRUE就代表是合法的IP地址
3661512 2003-12-12
  • 打赏
  • 举报
回复
如何判断一个字符串是个IP地址?

Private Function IsIP(strIP As String) As Boolean
Dim a() As String
Dim i
Dim j As Integer

On Error GoTo errIP
IsIP = True
a = Split(strIP, ".")
If (UBound(a) - LBound(a) <> 3) Then
IsIP = False
Else
For i = LBound(a) To UBound(a)
j = Int(a(i))
If ((j < 0) Or (j > 255)) Then
IsIP = False
End If
Next i
End If
Exit Function
errIP:
IsIP = False
End Function
魔芋 2003-12-12
  • 打赏
  • 举报
回复
Function checkIP(inIp As String) As Boolean
Dim ibegin, iend
Dim iLen
Dim iNC
Dim iPC
ibegin = 0
iend = 0
iLen = 0
'判断前三个
Do While True
ibegin = iend + 1
iend = InStr(ibegin, inIp, ".")
iLen = iend - ibegin
If iLen <= 0 Then
checkIP = False
Exit Do
End If
iPC = iPC + 1
If Not IsNumeric(Mid(inIp, ibegin, iLen)) Or iLen > 3 Then
checkIP = False
Exit Do
Else
If CInt(Mid(inIp, ibegin, iLen)) > 255 Then
checkIP = False
Exit Do
End If
End If
iNC = iNC + 1
'判断最后一个
If iPC = 3 And iNC = 3 Then
If Not IsNumeric(Mid(inIp, iend + 1)) Or Len(Mid(inIp, iend + 1)) > 3 Then
checkIP = False
Exit Do
Else
If CInt(Mid(inIp, ibegin, iLen)) > 255 Then
checkIP = False
Exit Do
End If
checkIP = True
Exit Do
End If
End If
Loop
End Function
yangfanatcsdn 2003-12-12
  • 打赏
  • 举报
回复
var=split(strIP,".")
if ubound(var)=3 then
for each str in var
if isnumeric(str) then
if cint(str)>=0 and cint(str)<=255 then
yourreturn = true
else
yourreturn = false
goto function_end
end if
end if
next
end if
yangfanatcsdn 2003-12-12
  • 打赏
  • 举报
回复
var=split(strIP,".")
if ubound(var)=3 then
for each str in var
if isnumeric(str) then
if cint(str)>=0 and cint(str)<=255 then
yourreturn = true
else
yourreturn = false
end if
end if
next
end if
nirvana_hg 2003-12-12
  • 打赏
  • 举报
回复
“250.41”可符合IP格式?
下一位
pcwak 2003-12-12
  • 打赏
  • 举报
回复
1、判断是否包含有“.”
2、判断数字是否大于0小于255

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧