Module: StringEnhancer::Validator

Defined in:
lib/string_enhancer/validator.rb

Class Method Summary collapse

Class Method Details

.valid_credit_card?(str) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/string_enhancer/validator.rb', line 28

def valid_credit_card?(str)
  str.match?(/\A\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}\z/)
end

.valid_date?(str, format: '%Y-%m-%d') ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/string_enhancer/validator.rb', line 16

def valid_date?(str, format: '%Y-%m-%d')
  Date.strptime(str, format) rescue false
end

.valid_email?(str) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
# File 'lib/string_enhancer/validator.rb', line 4

def valid_email?(str)
  str.match?(/\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i)
end

.valid_hex_color?(str) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/string_enhancer/validator.rb', line 32

def valid_hex_color?(str)
  str.match?(/\A#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})\z/)
end

.valid_ip?(str) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/string_enhancer/validator.rb', line 24

def valid_ip?(str)
  str.match?(/\A(\d{1,3}\.){3}\d{1,3}\z/)
end

.valid_json?(str) ⇒ Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/string_enhancer/validator.rb', line 36

def valid_json?(str)
  JSON.parse(str) rescue false
end

.valid_phone?(str) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/string_enhancer/validator.rb', line 12

def valid_phone?(str)
  str.match?(/\A\+?[\d\s\-()]{10,}\z/)
end

.valid_time?(str) ⇒ Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/string_enhancer/validator.rb', line 20

def valid_time?(str)
  str.match?(/\A([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?\z/)
end

.valid_url?(str) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/string_enhancer/validator.rb', line 8

def valid_url?(str)
  str.match?(%r{\Ahttps?://[^\s/$.?#].[^\s]*\z})
end

.valid_xml?(str) ⇒ Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/string_enhancer/validator.rb', line 40

def valid_xml?(str)
  Nokogiri::XML(str) rescue false
end