gpt4 book ai didi

ruby-on-rails - 如何构建验证电子邮件的方法

转载 作者:太空宇宙 更新时间:2023-11-03 18:29:52 24 4
gpt4 key购买 nike

我想创建一个这样的方法:

def email_is_junk(email_address)
end

如果电子邮件是垃圾邮件则返回 true,如果电子邮件不是垃圾邮件则返回 false...棘手的部分是我希望该逻辑基于如下条件:

user@domain.ext

  • 如果电子邮件在用户中有一个+,则电子邮件是垃圾邮件
  • 如果用户包含“请勿回复”或“support”、“test”、“service”、“tips”、“twitter”、“alerts”、“survey”等词,则电子邮件是垃圾邮件
  • 如果域是 craigslist.org,则电子邮件是垃圾邮件

关于如何使用正则表达式编写不需要数十个 if block 的方法的建议?

最佳答案

作为 Zabba 上面评论的例证:

USER_RULES = ['\+', 'do-not-reply', 'support', 'test', 'service', 'tips', 'twitter', 'alerts', 'survey']
DOMAIN_RULES = ['craigslist.org']

def email_is_junk(email)
return true if !email.match('@') # return early if no @
user, domain = email.split('@')
USER_RULES.each { |rule| return true if user.match(rule) }
DOMAIN_RULES.each { |rule| return true if domain.match(rule) }
false # reached the end without matching anything
end

关于ruby-on-rails - 如何构建验证电子邮件的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5839045/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com