如何验证一个EMAIL地址是否有效!

moleboy 2005-10-18 02:35:16
如何验证一个EMAIL地址是否有效!
...全文
186 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bbhere 2005-10-19
  • 打赏
  • 举报
回复
要检验真实性可麻烦了
moleboy 2005-10-19
  • 打赏
  • 举报
回复
就是利用winsock控件去对方的服务器验证一下!
确定这个EMAIL是否是真实的地址!
例如向email发送一个邮件,然后通过返回的信息判断,是否发送成功!
上官云峰 2005-10-19
  • 打赏
  • 举报
回复
好像没有什么办法,只能确定email是否合法性
确定合法性可以给你个例子
x = "ab@cb@ass@"
y = "@"
yyy = Replace(x, y, "")
xxx = Len(x) - Len(Replace(x, y, ""))
if xxx<>1 then
MsgBox "合法"
else
MsgBox "不合法"
end if
moleboy 2005-10-19
  • 打赏
  • 举报
回复
是确定这个EMAIL是否是真实的地址!
不是检查合法性!
3q2008Com 2005-10-18
  • 打赏
  • 举报
回复
'检查Email的合法性
Public Function GetEmailAddress(strEmail)
If IsNull(strEmail) Or strEmail = "" Or Len(strEmail) = 0 Then Exit Function
Dim intLen As Integer
intLen = Len(strEmail)
Dim intAt, intName, intDomain As Integer
'查@的位置
For intAt = 1 To intLen
Dim strLetter
strLetter = Mid(strEmail, intAt, 1)
Select Case strLetter
Case "@"
GoTo CheckName
End Select
Next
GetEmailAddress = Null
Exit Function

CheckName:
Dim strName As String
strName = Left(strEmail, intAt - 1)
intLen = Len(strName)
For intName = 0 To intLen - 1
strLetter = Mid(strName, intLen - intName, 1)
Select Case strLetter
Case " "
GoTo CheckDomain
Case "/"
GoTo CheckDomain
Case "\"
GoTo CheckDomain
Case ":"
GoTo CheckDomain
Case "'"
GoTo CheckDomain
Case ";"
GoTo CheckDomain
End Select
Next

CheckDomain:
Dim strDomain As String
strDomain = Right(strEmail, Len(strEmail) - intAt)
intLen = Len(strDomain)
For intDomain = 1 To intLen
strLetter = Mid(strDomain, intDomain)
Select Case strLetter
Case " "
GoTo Final
Case "\"
GoTo Final
Case "/"
GoTo Final
Case ":"
GoTo Final
Case ";"
GoTo Final
Case ","
GoTo Final
End Select
Next

Final:
strName = Right(strName, intName)
strDomain = Left(strDomain, intDomain - 1)
GetEmailAddress = strName & "@" & strDomain


End Function
moleboy 2005-10-18
  • 打赏
  • 举报
回复
顶一下!

7,763

社区成员

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

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