如何检查输入文本符合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、只给思路的
...全文
35 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
  • 打赏
  • 举报
回复
相关推荐
发帖
网络编程
加入

1492

社区成员

VB 网络编程
申请成为版主
帖子事件
创建了帖子
2003-12-12 10:25
社区公告
暂无公告