Puede hacerlo con esta función
Public Function validarEmail(email As String) As Boolean
'La función utiliza una expresión regular para validar el formato del correo electrónico.
'La expresión regular se almacena en la variable patron y se compone de los siguientes elementos:
'
'^: indica el inicio de la cadena
'\w+: una o más letras, números o guiones bajos
'([\.-]?\w+)*: cero o más grupos de un carácter de punto o guion medio seguido de una o más letras, números o guiones bajos
'@: el símbolo de arroba
'\w+: una o más letras, números o guiones bajos
'([\.-]?\w+)*: cero o más grupos de un carácter de punto o guion medio seguido de una o más letras, números o guiones bajos
'(\.\w{2,3})+: uno o más grupos de un carácter de punto seguido de dos o tres letras.
' Este elemento representa la extensión del dominio, que puede tener dos o tres caracteres.
'La función utiliza la clase RegExp de VBScript para aplicar la expresión regular a la cadena de texto email
'y determinar si cumple con el formato de correo electrónico válido. Si la cadena cumple con el formato,
'la función devuelve True; de lo contrario, devuelve False.
'
Dim patron As String
patron = "^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$"
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = patron
validarEmail = .test(email)
End With
End Function
Ejemplos ventana de inmediato
¿
? ValidarEmail("[email protected]") 'Error 4 caracteres después del punto
Falso
? ValidarEmail("eperezfer@ hotmail.com") 'Error un espacio después de la @
Falso
? ValidarEmail("eperezfer @hotmail.com") 'Error un espacio antes de la @
Falso
? ValidarEmail(" [email protected]") 'Error un espacio antes del primer caracter
Falso
? ValidarEmail("/[email protected]") 'Error primer caracter no válido
Falso
?validarEmail("eperezfer&@hotmail.com") 'Error simbolo & antes de @ no válido
Falso