Module: StringEnhancer::Validator
- Defined in:
- lib/string_enhancer/validator.rb
Class Method Summary collapse
- .valid_credit_card?(str) ⇒ Boolean
- .valid_date?(str, format: '%Y-%m-%d') ⇒ Boolean
- .valid_email?(str) ⇒ Boolean
- .valid_hex_color?(str) ⇒ Boolean
- .valid_ip?(str) ⇒ Boolean
- .valid_json?(str) ⇒ Boolean
- .valid_phone?(str) ⇒ Boolean
- .valid_time?(str) ⇒ Boolean
- .valid_url?(str) ⇒ Boolean
- .valid_xml?(str) ⇒ Boolean
Class Method Details
.valid_credit_card?(str) ⇒ 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
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
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
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
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
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
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
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
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
40 41 42 |
# File 'lib/string_enhancer/validator.rb', line 40 def valid_xml?(str) Nokogiri::XML(str) rescue false end |