= Phone Number Validator == About This app is a US phone number-validating RubyGem. It uses a complex regular expression to validate any United States phone number. === Regular Expression This gem uses the following regular expression: # US Phone Numbers /^(?:(?:[2-9]11)|(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:\x20+|#|x\.?|ext\.?|extension)\s*(\d+))?)$/i # Regex Flags: i (ignore case) == Installing $ gem install phone_number_validator === Install Required Gems/Dependencies $ bundle install === Updating Required Gems/Dependencies $ bundle update == Uninstalling $ gem uninstall phone_number_validator == Testing $ rake test == Usage === In command line $ pnv "+1 (987) 654-3210 ext. 198842" ==== Output => true === In Ruby code require 'phone_number_validator' check_phone_number = PhoneNumberValidator.validate_phone_number('+1 (987) 654-3210 ext. 198842') print check_phone_number ==== Output => true === Output Types Output can be: * true (boolean: valid phone number) * false (boolean: invalid phone number) * nil (nil: no phone number entered) * void (void: no phone number arg provided) == Development Run the following in development to make +bin/pnv+ executable (Unix only): chmod ugo+x bin/pnv