Ruby on rails Ruby中的官方电子邮件验证
我只想要官方电子邮件地址,如xyz@company.com注册我的服务,而不是其他通用电子邮件地址,如gmail.com或Yahoo mail.comRuby on rails Ruby中的官方电子邮件验证,ruby-on-rails,ruby,regex,email-validation,Ruby On Rails,Ruby,Regex,Email Validation,我只想要官方电子邮件地址,如xyz@company.com注册我的服务,而不是其他通用电子邮件地址,如gmail.com或Yahoo mail.com 是否有ruby gem来实现这种电子邮件验证?如果没有,如何实现这一点?您可以在适当的模型中编写自定义验证,如下所示: 本文的基本思路如下: 创建验证方法,并将其放入名为“validators”的新目录中 # app/validators/email_validator.rb class EmailValidator < ActiveMod
是否有ruby gem来实现这种电子邮件验证?如果没有,如何实现这一点?您可以在适当的模型中编写自定义验证,如下所示: 本文的基本思路如下: 创建验证方法,并将其放入名为“validators”的新目录中
# app/validators/email_validator.rb
class EmailValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
unless value =~ /\A([^@\s]+)+@yourdomain.com\z/i
record.errors[attribute] << (options[:message] || "wrong email address")
end
end
end
然后将新验证(电子邮件)添加到相应的模型中:
#MyModel.rb
validates :my_email_field, email: true
您可以在适当的模型中编写自定义验证,如下所示: 本文的基本思路如下: 创建验证方法,并将其放入名为“validators”的新目录中
# app/validators/email_validator.rb
class EmailValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
unless value =~ /\A([^@\s]+)+@yourdomain.com\z/i
record.errors[attribute] << (options[:message] || "wrong email address")
end
end
end
然后将新验证(电子邮件)添加到相应的模型中:
#MyModel.rb
validates :my_email_field, email: true
有一个免费的MailboxValidator web服务,您可以在Ruby中执行实时电子邮件地址验证
有一个免费的MailboxValidator web服务,您可以在Ruby中执行实时电子邮件地址验证
只需在
@
和点
符号后添加一个否定的前瞻。比如(来自html5规范)(?i)[a-z0-9.!$%&'*+/=?^{{124}-]+@(!gmail | yahoo)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])(?:\(!gmail | yahoo)[a-z0 9](?:[a-z0 9-]{0,61}[a-z0 9]代码)在代码后面加上一个负数点,然后再加上一个代码。比如(来自html5规范)(?i)[a-z0-9.!$%&'*+/=?^{U124}-]+@(!gmail | yahoo)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])(?:\.(!gmail | yahoo)[a-z0 9](?:[a-z0 9-]{0,61}[a-z0 9])