如何在Go中验证电子邮件地址

里亚兹·汗(Riyaz Khan)

我已经检查了StackOverflow,找不到任何答案可以回答如何在Go Language中验证电子邮件的问题

经过研究,我根据自己的需要找出了解决方案。

我有这个regexGo函数,可以正常工作:

import (
    "fmt"
    "regexp"
)

func main() {
    fmt.Println(isEmailValid("[email protected]")) // true
    fmt.Println(isEmailValid("[email protected]")) // true -- expected "false" 
}


// isEmailValid checks if the email provided is valid by regex.
func isEmailValid(e string) bool {
    emailRegex := regexp.MustCompile("^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$")
    return emailRegex.MatchString(e)
}

问题是它接受我不需要的特殊字符我尝试使用其他语言的“ regex”表达式中的某些表达式,但是在调试中抛出了“未知转义”错误

谁能给我一个很好的正则表达式或任何适用于GoLang的快速解决方案(pkg)?

icza

标准库具有内置的电子邮件解析和验证功能,只需使用:即可mail.ParseAddress()

一个简单的“有效”测试:

func valid(email string) bool {
    _, err := mail.ParseAddress(email)
    return err == nil
}

测试它:

for _, email := range []string{
    "[email protected]",
    "bad-example",
} {
    fmt.Printf("%18s valid: %t\n", email, valid(email))
}

哪些输出(在Go Playground上尝试):

  [email protected] valid: true
       bad-example valid: false

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在CakePHP 1.3中验证电子邮件地址?

来自分类Dev

如何在Salesforce文本字段中验证电子邮件地址?

来自分类Dev

如何在Firebase中更改电子邮件地址?

来自分类Dev

如何在InAppSettingsKit中设置电子邮件地址?

来自分类Dev

如何使用Firebase电子邮件地址验证

来自分类Dev

如何验证电子邮件地址格式?

来自分类Dev

如何使用vuelidate验证电子邮件地址?

来自分类Dev

如何使用jQuery验证电子邮件地址?

来自分类Dev

在JAVA中输入和验证电子邮件地址

来自分类Dev

验证JavaScript中的电子邮件地址

来自分类Dev

验证 URL 中的电子邮件地址

来自分类Dev

如何在不使用正则表达式的情况下在Python中验证电子邮件地址?

来自分类Dev

我应该如何在 javascript 或 nodeJs 中验证电子邮件地址的存在和域名的存在?

来自分类Dev

验证电子邮件地址的域

来自分类Dev

电子邮件地址输入验证

来自分类Dev

验证电子邮件地址

来自分类Dev

如何在文本框上验证正确的电子邮件地址

来自分类Dev

如何在GitHub上用我的提交电子邮件地址验证GPG密钥?

来自分类Dev

验证电子邮件地址并在Java中打印有效的电子邮件地址

来自分类Dev

如何从电子邮件地址中检索姓名

来自分类Dev

如何隐藏电子邮件地址

来自分类Dev

如何隐藏电子邮件地址?

来自分类Dev

URL中的电子邮件地址

来自分类Dev

URL中的电子邮件地址

来自分类Dev

电子邮件地址中的大写

来自分类Dev

如何在电子邮件地址中编码特殊字符

来自分类Dev

如何在iOS中通过Twitter API获取用户电子邮件地址?

来自分类Dev

您如何在Phabricator中更改用户的电子邮件地址

来自分类Dev

如何在文本输入HTML中添加多个电子邮件地址

Related 相关文章

热门标签

归档