首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails -用于电子邮件验证的REGEX

rails -用于电子邮件验证的REGEX
EN

Stack Overflow用户
提问于 2011-01-23 03:44:21
回答 15查看 58.9K关注 0票数 19

我正在寻找一个正则表达式来验证电子邮件,以了解它是否有效。我有以下几点:

代码语言:javascript
复制
def is_a_valid_email?(email)
    email_regex = %r{
      ^ # Start of string
      [0-9a-z] # First character
      [0-9a-z.+]+ # Middle characters
      [0-9a-z] # Last character
      @ # Separating @ character
      [0-9a-z] # Domain name begin
      [0-9a-z.-]+ # Domain name middle
      [0-9a-z] # Domain name end
      $ # End of string
    }xi # Case insensitive

    (email =~ email_regex)
end

上面的问题是XXX_XXX@Xxx.com没有在它应该有效的时候返回。对于更好的正则表达式有什么想法或建议吗?

谢谢

EN

Stack Overflow用户

发布于 2014-02-25 07:55:01

这些其他答案中的大多数都过于严格,或者允许使用明显错误的地址。因此,最好放弃过于严格,这会让用户感到沮丧,只做正确的主要事情。

1.最常见的用例:

代码语言:javascript
复制
    validates :email, ..., format: { with: /\A[^@\s]+@([^@.\s]+\.)+[^@.\s]+\z/ }

要同时允许root@localhost homer@blinky**,或,请使用以下命令:**

代码语言:javascript
复制
    validates :email, ..., format: { with: /\A[^@\s]+@([^@.\s]+\.)*[^@.\s]+\z/ }

以上都不能代替查找验证码、dns记录、DNS域黑名单、IP黑名单和确认电子邮件。

对于真实的电子邮件域验证,可以使用以下代码:https://gist.github.com/9200104

这匹马现在被打得精疲力竭,正被打成谷仓。

票数 5
EN
查看全部 15 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4770133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档