使用正则表达式的Ruby电子邮件验证
发布时间:2020-12-14 06:36:29 所属栏目:百科 来源:网络整理
导读:我有一大笔电子邮件列表。很多电子邮件都有打字错误。我正在尝试构建一个字符串来检查有效的电子邮件。 这正是我所用的正则表达式。 def is_a_valid_email?(email) (email =~ /^(([A-Za-z0-9]*.+*_+)|([A-Za-z0-9]+-+)|([A-Za-z0-9]++)|([A-Za-z0-9]++))
我有一大笔电子邮件列表。很多电子邮件都有打字错误。我正在尝试构建一个字符串来检查有效的电子邮件。
这正是我所用的正则表达式。 def is_a_valid_email?(email) (email =~ /^(([A-Za-z0-9]*.+*_+)|([A-Za-z0-9]+-+)|([A-Za-z0-9]++)|([A-Za-z0-9]++))*[A-Z??a-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 # <~~~valid f.o.o.b.a.r@gmail.com # <~~~valid f...bar@gmail.com # <~~ not valid get_at_m.e@gmail #<~~ valid 有人可以帮我改写正则表达式吗?
TL; DR:
VALID_EMAIL_REGEX = /A[w+-.]+@[a-zd-]+(.[a-zd-]+)*.[a-z]+z/i 原来的答案 你似乎很复杂的事情,我只会使用: VALID_EMAIL_REGEX = /A[w+-.]+@[a-zd-]+(.[a-z]+)*.[a-z]+z/i 取自michael hartl’s rails book 因为这不符合你的点要求,它可以简单地被修改为: VALID_EMAIL_REGEX = /A([w+-].?)+@[a-zd-]+(.[a-z]+)*.[a-z]+z/i 正如CAustin所说,还有许多其他的解决方案。 编辑: @installero指出,原始的子域中的连字符失败,这个版本会工作(不知道为什么字符类首先缺少数字和连字符)。 VALID_EMAIL_REGEX = /A[w+-.]+@[a-zd-]+(.[a-zd-]+)*.[a-z]+z/i (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |