Проверка электронной почты на стороне сервера - PullRequest
1 голос
/ 04 августа 2011

Я пытаюсь проверить электронную почту, но мой код не допускает несколько сценариев ..

код

pvm = "bw.stack@domain.com" does not work
pvm = "user@gmail.com" - works

If Len(pvm) < 5 OR NOT Instr(1, pvm, " ") = 0 OR InStr(1, pvm, "@", 1) < 2 OR InStrRev(pvm, ".") < InStr(1, pvm, "@", 1) Then
    blnEmailOKREG = False
        Else
    blnEmailOKREG = True 
End If

1 Ответ

2 голосов
/ 04 августа 2011

Вот довольно хорошее соотношение для адресов электронной почты.Тем не менее, обратите внимание, что трудно получить полностью «всезнающую» проверку.

' Function IsValidEmail
' Method checks if a string value is a valid email adress
' @Param val: <string> String containing email adress.
' @RETURN: True / False
Public function IsValidEmail(ByRef val)
    IsValidEmail = RegExTest(val,"^[_a-zA-Z0-9-""'\/]+(\.[_a-zA-Z0-9-""'\/]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$")
end function

_

Public function RegexTest(str, pattern)
    dim m_objRegex 

    set m_objRegex = New RegExp
    m_objRegex.Pattern = pattern
    m_objRegex.Global = True
    RegExTest = m_objRegex.Test(str)

    set m_objRegex = nothing 
End function
...