Sha256: 32e8af0db1b7e5e27dd11014d02b5a6b975210ef043c0bd3a1f111792d1fc6ed

Contents?: true

Size: 1.13 KB

Versions: 10

Compression:

Stored size: 1.13 KB

Contents

#
# RFC822 Email Address Regex
# --------------------------
# 
# Originally written by Cal Henderson
# c.f. http://iamcal.com/publish/articles/php/parsing_email/
#
# Translated to Ruby by Tim Fletcher, with changes suggested by Dan Kubb.
#
# Licensed under a Creative Commons Attribution-ShareAlike 2.5 License
# http://creativecommons.org/licenses/by-sa/2.5/
# 
module WhyValidationsSuckIn96
  module RFC822
    EmailAddress = begin
      qtext = '[^\\x0d\\x22\\x5c\\x80-\\xff]'
      dtext = '[^\\x0d\\x5b-\\x5d\\x80-\\xff]'
      atom = '[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-' +
        '\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+'
      quoted_pair = '\\x5c[\\x00-\\x7f]'
      domain_literal = "\\x5b(?:#{dtext}|#{quoted_pair})*\\x5d"
      quoted_string = "\\x22(?:#{qtext}|#{quoted_pair})*\\x22"
      domain_ref = atom
      sub_domain = "(?:#{domain_ref}|#{domain_literal})"
      word = "(?:#{atom}|#{quoted_string})"
      domain = "#{sub_domain}(?:\\x2e#{sub_domain})*"
      local_part = "#{word}(?:\\x2e#{word})*"
      addr_spec = "#{local_part}\\x40#{domain}"
      pattern = /\A#{addr_spec}\z/
    end
  end
end # WhyValidationsSuckIn96

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
whyvalidationssuckin96-1.6.1 lib/whyvalidationssuckin96/vendor/rfc822.rb
whyvalidationssuckin96-1.6.0 lib/whyvalidationssuckin96/vendor/rfc822.rb
whyvalidationssuckin96-1.5.5 lib/whyvalidationssuckin96/vendor/rfc822.rb
whyvalidationssuckin96-1.5.4 lib/whyvalidationssuckin96/vendor/rfc822.rb
whyvalidationssuckin96-1.5.3 lib/whyvalidationssuckin96/vendor/rfc822.rb
whyvalidationssuckin96-1.5.2 lib/whyvalidationssuckin96/vendor/rfc822.rb
whyvalidationssuckin96-1.5.1 lib/whyvalidationssuckin96/vendor/rfc822.rb
whyvalidationssuckin96-1.5.0 lib/whyvalidationssuckin96/vendor/rfc822.rb
whyvalidationssuckin96-1.4.0 lib/whyvalidationssuckin96/vendor/rfc822.rb
whyvalidationssuckin96-1.3.1 lib/whyvalidationssuckin96/vendor/rfc822.rb