1.0.0 • Published 4 years ago
@redkassa/phone-parser v1.0.0
RedKassa Phone Parser
Parser phone numbers. Good for formatting numbers entered by the user.
Installation
npm i @redkassa/phone-parser --save
or
yarn add @redkassa/phone-parser
Usage
import { parsePhoneNumber } from '@redkassa/phone-parser';
const result = parsePhoneNumber('12089999999');
/*
result = {
code: 'US',
dialCode: '+1',
nationalNumber: '2089999999',
formattedNumber: '+1 2089999999',
}
*/
Params
Resolvers
You can tell the parser how to determine the value passed to it.
resolvers - it is an array consisting of objects with the following properties:
Property | Type | Description |
---|---|---|
options | Array (required) | Values passed to the parser which will be given are replaced or supplemented by the dial code |
target | Object (required) | Data for calculating the dial code of the country to which the input value is given |
option
Property | Type | Description |
---|---|---|
value | string (required) | Values passed to the parser |
replace | boolean | If true - replaces the value with the dial phone code. If false puts the country dial code before this value. The dial code is determined based on data from target. |
target
Property | Type | Description |
---|---|---|
firstChar | string (required) | The first digit of the country code |
code | string (required) | Country code (US, RU, ...) |
import { parsePhoneNumber } from '@redkassa/phone-parser';
const resolvers = [
{
options: [
{
value: '8',
replace: true,
},
{
value: '9',
replace: false,
},
],
target: {
firstChar: '7',
code: 'RU',
},
},
];
const result1 = parsePhoneNumber('89191238899', { resolvers });
const result2 = parsePhoneNumber('9191238899', { resolvers });
/*
result1 = {
code: 'RU',
dialCode: '+7',
nationalNumber: '9191238899',
formattedNumber: '+7 9191238899',
}
result2 = {
code: 'RU',
dialCode: '+7',
nationalNumber: '9191238899',
formattedNumber: '+7 9191238899',
}
*/
Formats
formats - it is an array consisting of objects with the following properties:
Property | Type | Description |
---|---|---|
code | string (required) | Country code (US, RU, ...) |
mask | string | Mask for the entered number without a dial code. The dial code will be substituted automatically. |
appendTail | boolean | Add numbers that are not counted in the mask to the phone number. |
import { parsePhoneNumber } from '@redkassa/phone-parser';
const formats = [
{
code: 'US',
mask: '###-###-####',
},
];
const result = parsePhoneNumber('12089999999', { formats });
/*
result = {
code: 'US',
dialCode: '+1',
nationalNumber: '2089999999',
formattedNumber: '+1 208-999-9999',
}
*/