Skip to content
 
 

Repository files navigation

angular-libphonenumber - AngularJS input masks for phone numbers

Info Badges
Version Bower version
License Apache license
Testing Build Status Coverage Status
Quality Dependencies status Code Climate

Description

angular-libphonenumber is an angular directive that can be used as an input mask. By default, all numbers are formatted in US format, but the format can be set with the country-code descriptor. It uses nathanhammond/libphonenumber as a formatter for phone number's, which calls Google's libphonenumber to format numbers as you type them.

UPDATE: use latestest version of Nathan Hammond libphonenumber (v7.2.4) to be able to use all phoneUtils exposed methods:

phoneUtils.countryCodeToRegionCodeMap();
phoneUtils.isPossibleNumber(phoneNumber, regionCode);
phoneUtils.isPossibleNumberWithReason(phoneNumber, regionCode);
phoneUtils.isValidNumber(phoneNumber, regionCode);
phoneUtils.isValidNumberForRegion(phoneNumber, regionCode);
phoneUtils.getCountryCodeForRegion(regionCode);
phoneUtils.getRegionCodeForNumber(phoneNumber, regionCode);
phoneUtils.getNumberType(phoneNumber, regionCode);
phoneUtils.getSupportedRegions();
phoneUtils.formatE164(phoneNumber, regionCode);
phoneUtils.formatNational(phoneNumber, regionCode);
phoneUtils.formatInternational(phoneNumber, regionCode);
phoneUtils.formatInOriginalFormat(phoneNumber, regionCode);
phoneUtils.formatOutOfCountryCallingNumber(phoneNumber, regionCode, target);

View a demo here

Installation

Using Bower:

bower install --save angular-libphonenumber

Then include it in your angular application:

angular.module('myModule', ['cwill747.phonenumber']);

How to Use

  • You need to get the user's country code from somewhere. Where you do that is up to you (setting, local storage, angular-translate, or just another input box):
<input type="text" ng-model="countrycode" />
  • Then you just apply the input mask to any input box:
<input type="text" ng-model="phoneNumber" phone-number country-code="countrycode" />

Support

If you are having any questions or issues getting things to work, you can:

Project's issue on GitHub should be used discuss bugs and features.

Contributing to the project

We welcome any contributions to the project. Please check the CONTRIBUTING.md for contribution guidelines.

Check out our contributors here

Development

Prepare your environment

  • Install Node.js and NPM (should come with)
  • Install global dev dependencies: npm install -g gulp karma
  • Install local dev dependencies: npm install while current directory is angular-libphonenumber repo

Build

  • Build the whole project: gulp - this will run jshint, test, and build targets

Release

  • Use GitHub's release tool to draft and publish a release. I like the format better than changelogs.

About

nathanhammond/libphonenumber as an angular input mask

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages