1.0.0 • Published 4 years ago

@redkassa/phone-parser v1.0.0

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

RedKassa Phone Parser

Parser phone numbers. Good for formatting numbers entered by the user.

Example

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:

PropertyTypeDescription
optionsArray (required)Values ​​passed to the parser which will be given are replaced or supplemented by the dial code
targetObject (required)Data for calculating the dial code of the country to which the input value is given

option

PropertyTypeDescription
valuestring (required)Values ​​passed to the parser
replacebooleanIf 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

PropertyTypeDescription
firstCharstring (required)The first digit of the country code
codestring (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:

PropertyTypeDescription
codestring (required)Country code (US, RU, ...)
maskstringMask for the entered number without a dial code. The dial code will be substituted automatically.
appendTailbooleanAdd 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',
}

*/

Translation

Russian

1.0.0

4 years ago

0.9.9

4 years ago

0.9.10

4 years ago

0.9.3

4 years ago

0.9.2

4 years ago

0.9.1

4 years ago

0.9.0

4 years ago