module Any::Validate::Mailaddress
Public Instance Methods
valid_mailaddress?(mail: nil)
click to toggle source
# File lib/any/validate/mailaddress.rb, line 5 def valid_mailaddress? mail: nil # http://tmtms.hatenablog.com/entry/2014/09/09/mailaddress-regexp return true if mail =~ /\A # 全体で256文字以下 (?=.{,256}\z) # local-partは64文字以下でdomainは255文字以下 (?=.{,64}@.{,255}\z) # local-part ( # dot-atom (?<atom>[0-9a-z!\#$%&'*+\-\/=?^_`{|}~]+) (\.\g<atom>)* | # quoted-string \"([\x09\x20\x21\x23-\x5b\x5d-\x7e]|\\[\x09\x20-\x7e])*\" )@ # domain (?<sub_domain>[0-9a-z]([0-9a-z-]{,61}[0-9a-z])?) (\.\g<sub_domain>)* \z/ix return false rescue return false end