NumberRecognizer is a rails plugin to recognize mobile phone numbers. It can make educated guesses to correct local numbers into numbers in international format.
@nc = NumberRecognizer.new("0612345678") @nc.valid_or_correct_mobile? # => true @nc.country_name # => "Netherlands" @nc.country # => "31" @nc.prefix # => "31" @nc.local_number # => "612345678" @nc.normalized_number # => "31612345678"
It does not aim for worldwide coverage and correction, as that is not the problem I’m trying to solve. If want to add a country, feel free to send me a pull request or create a feature request.
-
Australia (614xxxxxxxx)
-
Belgium (324xxxxxxxx)
-
England (447xxxxxxxx, 447xxxxxxxxx)
-
Netherlands (316xxxxxxxx)
-
Portugal (3519xxxxxxxx)
-
Spain (346xxxxxxxx, 347xxxxxxxx)
It is also possible to add your own custom format:
NumberRecognizer.add_format :country => "Utopia", :mobile=>true, :format => /(99)(9\d{8})/, :country_code=>999
script/plugin install git://github.com/Narnach/number_recognizer.git
I use Github issues for this: github.com/Narnach/number_recognizer/issues
It scratches my own itch and does not aim to solve everyone’s problems. If it works for you, great! If it does not; fork it, patch it and send me a pull request.
Written by Wes ‘Narnach’ Oldenbeuving in 2009. Licensed under the MIT license.