Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

phonumber

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

phonumber

Phone number parser. Good for formatting phone numbers entered by users.

  • 1.0.7
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
209
increased by34.84%
Maintainers
1
Weekly downloads
 
Created
Source

Phonumber

Phonumber - it is phone number parser. Good for formatting phone numbers entered by users.

Installation

npm i phonumber

Usage


import { parsePhoneNumber } from 'phonumber';

const result = parsePhoneNumber('12089999999');

/*

result = {
  code: 'US',
  dialCode: '+1',
  nationalNumber: '2089999999',
  formattedNumber: '+1 2089999999',
}

*/

Config

Resolvers

You can tell the parser how to resolve the value passed to it.

resolvers - it is an array contains objects with the following properties:

PropertyTypeDescription
firstInputCharsObject (required)It is an object where keys are first input char sended to parser and values are object which contains resolver options for this char.
resolveAsObject (required)Data whitch detect how resolve first input char.
firstInputChars property
PropertyTypeDescription
mode"add" | "replace" (required)"Replace" mode replaces first input char with the dial code.
"Add" mode puts the dial code before this first input char. The dial code is determined based on data from "resolveAs".
resolveAs
PropertyTypeDescription
firstCharstring (required)The first digit of the country code
codestring (required)Country code (US, RU, ...)

const resolvers = [
  {
    firstInputChars: {
      9: {
        mode: 'add',
      },
      8: {
        mode: 'replace',
      },
    },
    resolveAs: {
      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 object where keys are country codes and values are objects with the following properties:

PropertyTypeDescription
maskstringMask for the entered number without a dial code. The dial code will be filled automatically.
withTailbooleanAdd numbers that are not counted in the mask to the phone number.

const formats = {
    RU: {
      mask: '(###) ### ####',
    },
    BY: {
      mask: '## ### ## ##',
    },
    US: {
      mask: '###-###-####',
      withTail: true,
    },
  };

const result = parsePhoneNumber('12089999999', {
  formats,
});

/*

result = {
  code: 'US',
  dialCode: '+1',
  nationalNumber: '2089999999',
  formattedNumber: '+1 208-999-9999',
}

*/

Keywords

FAQs

Package last updated on 30 Aug 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc