OptimaLib Phone Utils
This an Angular library (and can be used with Angular projects only).
It uses libphonenumber-js to provide developers with the angular way of formatting and validating phone numbers.
Versions grid
Angular | OptimaLib |
---|---|
13.x | 13.x |
Install
npm install --save @optima-lib/phone-utils
OptimaPhoneUtilsService
Usage
import { OptimaPhoneUtilsService } from '@optima-lib/phone-utils';
// Inject in your component or service:
constructor(private phoneUtils: OptimaPhoneUtilsService) { }
Methods
-
getInternational(value: string, country: string): string - Transform a given phone number to international format
Param Description value Phone numer country Two-letters country code -
getNational(value: string, country: string): string - Transform a given phone number to its national format
Param Description value Phone numer country Two-letters country code -
getPlain(value: string, country: string): string - International format without inner spaces (PNF.E164)
Param Description value Phone numer country Two-letters country code -
isValid(value: string, country: string): boolean - General purpose validator. Use in conjunction with other services and components. The method will return true when arguments relates to a phone number from the selected country.
Param Description value Phone numer country Two-letters country code -
isValidFormControl(country: string): boolean - Reactive form validator. It will set phoneInvalid property in related form control error's object.
Param Description country Two-letters country code. Usage:
// app.component.ts
constructor(public phoneValidatorService: OptimaPhoneValidatorService) { }
public getForm() {
this.form = new FormGroup({
phone: new FormControl('', [
Validators.required,
this.phoneValidatorService.isValidPhone('BG')
])
});
}
// app.component.html
<span *ngIf="form.get('phone')?.errors?.phoneInvalid">{{ 'FORM.ERROR.PHONE_FORMAT.INVALID' | translate }}</span>
OptimaInternationalFormatPipe
Usage
Import OptimaPhoneUtilsModule in the module where you want to use it:
import { OptimaPhoneUtilsModule } from '@optima-lib/phone-utils';
@NgModule({
imports: [
...,
OptimaPhoneUtilsModule
]
})
export class UserModule() { }
And then it can be used as:
{{ '02 1234567' | internationalFormat : 'BG' }}
which will produce:
+359 2 123 4567
OptimaNationalFormatPipe
Usage
Import OptimaPhoneUtilsModule in the module where you want to use it:
import { OptimaPhoneUtilsModule } from '@optima-lib/phone-utils';
@NgModule({
imports: [
...,
OptimaPhoneUtilsModule
]
})
export class UserModule() { }
And then it can be used as:
{{ '02 1234567' | nationalFormat : 'BG' }}
which will produce:
02 123 4567