Implementación de validación de direcciones de email usando el paquete Regexp de Go
Para validar una dirección de correo electrónico, podemos considerar varios criterios clave
- Formato Correcto: La dirección debe seguir el formato estándar
local-part@domain. - Caracteres Válidos: Verificar que la dirección contenga solo caracteres válidos (letras, números, puntos, guiones y guiones bajos).
- Presencia del Símbolo “@”: Asegurarse de que la dirección contenga un solo símbolo “@”.
- Longitud: Comprobar que la longitud total de la dirección no exceda el límite razonable (por ejemplo, 254 caracteres).
- Dominio Válido: Verificar que el dominio después del “@” sea válido y tenga una extensión apropiada (como .com, .net, .org, etc.).
Aquí tienes un pseudocódigo en Go para validar correos electrónicos:
package main
import (
"fmt"
"regexp"
)
func isValidEmail(email string) bool {
// Verificar la longitud
if len(email) > 254 {
return false
}
// Patrón de expresión regular para la validación del correo electrónico
emailPattern := `^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$`
match, _ := regexp.MatchString(emailPattern, email)
return match
}
func main() {
emails := []string{
"example@example.com",
"invalid-email@.com",
"another.valid.email@example.co",
"@missing-local-part.com",
"missing-at-symbol.com",
}
for _, email := range emails {
fmt.Printf("Email: %s is valid: %v\n", email, isValidEmail(email))
}
}
Este código en Go verifica que la dirección de correo electrónico siga el formato correcto, contenga caracteres válidos, y tenga un dominio apropiado. Si una dirección de correo electrónico no cumple con estos criterios, se considera inválida.