@redkassa/phone-parser
v1.0.0
Published
Parser phone numbers. Good for formatting numbers entered by the user.
Downloads
22
Readme
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',
}
*/