2017-10-09 52 views
0

我正在电子邮件发件人处工作。我想打的支票,是@前面的东西,例如:如何检查“@”前的内容

If Nothing at left side of "@" Then 
MsgBox("Wrong e-mail") 
End If 

,但我不知道我怎么能做到这一点,这是可能的?

+0

的[我如何验证可能的复制电子邮件地址格式与.NET框架?](https://stackoverflow.com/questions/1331084/how-do-i-validate-email-address-formatting-with-the-net-framework) – GSerg

回答

0

也许在电子邮件地址中检查@的最有效方法是检查索引?

dim email as string = "[email protected]" 
dim index as integer = email.IndexOf("@") 
if index = -1 OrElse index = 0 then 
    MsgBox("Wrong e-mail") 
End If 

当未发现其-1,它不应该是索引0

注:这并不检查是否存在@前面什么都没有,但它确实使基本检查你尝试什么实现。

+0

是啊,我有已经在电子邮件中检查“@”。但有时候,当我在“@”之前不写任何内容时,我有错误“错误的电子邮件语法”。这就是为什么我想要这样做。 –

+0

这将检查@是否在索引0处,当它是@时,@之前什么也没有。 – Niels

+0

可能最好使用同样的检查来检查'.'。除此之外,真正验证电子邮件的最佳方式是实际上通过某种确认链接向该地址发送电子邮件。 – user2366842

0

我会使用一个正则表达式,这和检查不仅仅是@多给一个更彻底的舒适性,这实际输入的电子邮件地址:

Function IsValidEmail(emailAddress As String) As Boolean 
    Dim regEx As New Regex("^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$") 
    Return regEx.IsMatch(emailAddress) 
End Function 
+1

https://davidcel.is/posts/stop-validating-email-addresses-with-regex/ –

+0

想知道这将如何处理电子邮件地址中有unicode字符... – user2366842