Sha256: 09626a8fc7b06629a74df2ad6cbe6b82fe0a1b476bad14ff3e07472a49f818f9

Contents?: true

Size: 1.53 KB

Versions: 10

Compression:

Stored size: 1.53 KB

Contents

# frozen_string_literal: true

module Validators
  EMAIL_FORMAT = /\A[a-z0-9]+([-._][a-z0-9]+)*(\+[^@]+)?@[a-z0-9]+([.-][a-z0-9]+)*\.[a-z]{2,}\z/i.freeze
  MICROSOFT_EMAIL_FORMAT = /\A[\w][\w\d._-]*[\w\d_-]+(\+[\w\d]+)?@(hotmail|outlook).com\z/i.freeze

  # Source: https://github.com/henrik/validates_url_format_of
  IPV4_PART = /\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]/.freeze # 0-255

  URL_FORMAT = %r[
    \A
    https?://                                                    # http:// or https://
    ([^\s:@]+:[^\s:@]*@)?                                        # optional username:pw@
    ( (([^\W_]+\.)*xn--)?[^\W_]+([-.][^\W_]+)*\.[a-z]{2,6}\.? |  # domain (including Punycode/IDN)...
        #{IPV4_PART}(\.#{IPV4_PART}){3} )                        # or IPv4
    (:\d{1,5})?                                                  # optional port
    ([/?]\S*)?                                                   # optional /whatever or ?whatever
    \z
  ]ixs.freeze

  URL_FORMAT_WITHOUT_TLD_VALIDATION = %r[
    \A
    https?://                                                    # http:// or https://
    ([^\s:@]+:[^\s:@]*@)?                                        # optional username:pw@
    ( (([^\W_]+\.)*xn--)?[^\W_]+([-.][^\W_]+)*\..{2,}\.? |       # domain (including Punycode/IDN)...
        #{IPV4_PART}(\.#{IPV4_PART}){3} )                        # or IPv4
    (:\d{1,5})?                                                  # optional port
    ([/?]\S*)?                                                   # optional /whatever or ?whatever
    \z
  ]ixs.freeze
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
validators-3.2.1 lib/validators/constants.rb
validators-3.2.0 lib/validators/constants.rb
validators-3.1.1 lib/validators/constants.rb
validators-3.1.0 lib/validators/constants.rb
validators-3.0.5 lib/validators/constants.rb
validators-3.0.4 lib/validators/constants.rb
validators-3.0.3 lib/validators/constants.rb
validators-3.0.2 lib/validators/constants.rb
validators-3.0.1 lib/validators/constants.rb
validators-3.0.0 lib/validators/constants.rb