Angular Material component for inputting telephone numbers.
npm install ngx-mat-tel-inputAngular Material component for inputting telephone numbers.
* Validates and formats phone numbers (via Google's libphonenumber)
* Material design
* Reactive forms
* 250 countries and dependent areas
* Flags optimized for low resolution
* Angular 8, 9, 10, 11, 12
Click here to see a StackBlitz demo.
Install peer dependencies:
$ npm install @angular/flex-layout ngx-mat-select-search google-libphonenumber world-countries
Install the package using npm:
$ npm install ngx-mat-tel-input
> Note: If you're running npm 7.0.0 or later, add --legacy-peer-deps
Import the module into your app.module.ts:
import { NgxMatTelInputModule } from 'ngx-mat-tel-input';
@NgModule({
...
imports: [
...,
NgxMatTelInputModule
],
...
})
import {Component} from '@angular/core';
import {FormGroup, FormControl, Validators} from '@angular/forms';
@Component({
selector: 'my-component',
templateUrl: './my-component.component.html',
styleUrls: ['./my-component.component.css']
})
export class MyComponent {
myFormGroup = new FormGroup({
phoneNumber: new FormControl({value: '', disabled: false}, [Validators.required,]),
});
onSubmit(): void {
}
get phoneNumber(): FormControl {
return this.myFormGroup.get('phoneNumber') as FormControl;
}
}
formatThis error is triggered when the user's input does not form a valid phone number.
Phone number is invalid
countryThis error is triggered when the user enters a phone number which belongs to a country or dependent area that isn't
in countryWhiteList, or is in countryBlacklist.
US numbers only
| Option | Type | Optional? | Example | Description |
|------------------|------------|-----------|-----------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| defaultCountry | string | Yes | [defaultCountry]="'US'" | The country or dependent area to be selected by default in the country picker. If omitted, Afghanistan will be selected by default. |
| countryWhitelist | string[] | Yes | [countryWhitelist]="['US', 'CA']" | List of countries and dependent areas to include in the country picker. If omitted, all countries and dependant areas will be displayed. |
| countryBlacklist | string[] | Yes | [countryBlacklist]="['DE','PA','NZ']" | List of countries and dependent areas to exclude from the country picker. If omitted, all countries and dependant areas will be displayed. |
| format | number | Yes | [format]="0" | The format of the phone number written to form control bound to lib-ngx-mat-tel-input.
---
NOTE
Countries are represented by their ISO 3166-1 alpha-2 code (e.g. "
FR" for France). Codes should consist of capital letters only with no extraneous whitespace.
---