我有一大堆正在浏览的电子邮件。很多邮件都有拼写错误。我正在尝试构建一个字符串来检查有效的电子邮件。
这就是我的正则表达式。
def is_a_valid_email?(email)
(email =~ /^(([A-Za-z0-9]*\.+*_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\+)|([A-Za-z0-9]+\+))*[A-Za-z0-9]+@{1}((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,4}$/i)
end
如果电子邮件为下划线且只有一个句点,则通过。我有很多电子邮件的名称本身有不止一个句点。我如何在正则表达式中检查它。
hello.me_1@email.com # <~~ valid
foo.bar#gmail.co.uk # <~~~ not valid
f.o.o.b.a.r@gmail.com # <~~~valid
f...bar@gmail.com # <~~ not valid
get_at_m.e@gmail #<~~ valid
有人可以帮我重写我的正则表达式吗?
最佳答案
这至少从 2.2.1 开始就内置到标准库中
URI::MailTo::EMAIL_REGEXP
关于使用正则表达式的 Ruby 电子邮件验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22993545/