如何在VBA中格式化特定的邮件值

时间:2019-02-26 16:02:21

标签: excel vba

我想使用vba与RegEx验证特定的邮件值。

示例:aungkoko@desktopfromanoth.com

用户输入的电子邮件必须完全包含@desktopfromanoth.com。我可以使用RegEx进行验证吗?

我的代码在这里:

Private Function ValidateEmailAddress(ByRef strEmailAddress As String) As Boolean  
    Dim objRegExp As New RegExp

    objRegExp.IgnoreCase = True
    objRegExp.pattern = "^[\w-\.]+@([a-z]{16}+\.)+[A-Za-z]{2,3}$"
    ValidateEmailAddress = objRegExp.Test(strEmailAddress)
End Function

2 个答案:

答案 0 :(得分:2)

以下内容将验证所有以@desktopfromanoth.com结尾的电子邮件

^[_a-z0-9-]+(.[a-z0-9-]+)@desktopfromanoth\.com$

有关更多信息,请参见Email Address Regular Expression That 99.99% Works.

如果要匹配多个电子邮件地址,请使用以下内容:

[_a-z0-9-]+(.[a-z0-9-]+)@desktopfromanoth\.com

请参见https://regex101.com/r/PjQKDx/1

答案 1 :(得分:0)

通常情况下,我会使用它,并且在大多数情况下都可以使用:

^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$