Skip to content

dougwig/email_regex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#email_regex

Author: Doug Wiegley

##Description

Provides a valid email regex that conforms to most valid RFC edges cases (disallows backticks), and allows for a few illegal patterns that are in common use.

##Installation

###For a rails application

Add the gem to your gemfile.

gem 'email_regex'

Then bundle install.

$ bundle install

###Install the gem on its own

$ gem install email_regex

##Usage

The regex is then accessible with the following:

EmailRegex::EMAIL_ADDRESS_REGEX

An example:

%w(invalid_email [email protected]).select { |e| e if e =~ EmailRegex::EMAIL_ADDRESS_REGEX }
=> [valid_email@example.com]

###With ActiveRecord

This can be used with an ActiveRecord validation in two ways:

####With validates_format_of

class User < ActiveRecord::Base
  attr_accessible :email
  validates_format_of :email, with: EmailRegex::EMAIL_ADDRESS_REGEX
end

####With a custom validator

class User < ActiveRecord::Base
  attr_accessible :email
  validates :email, presence: true, email_format: true
end

Then, in lib/validators/email_format_validator.rb:

class EmailFormatValidator < ActiveModel::EachValidator
  def validate_each(record, attribute, value)
    unless value =~ EmailRegex::EMAIL_ADDRESS_REGEX
      record.errors[attribute] << (options[:message] || "is invalid")
    end
  end
end

##Copyright

See LICENSE.txt for more details

About

Email regex gem

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages