Socket
Socket
Sign inDemoInstall

phone-fns

Package Overview
Dependencies
1
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    phone-fns

A small, modern, and functional phone library for javascript


Version published
Weekly downloads
3.2K
decreased by-3.55%
Maintainers
1
Install size
353 kB
Created
Weekly downloads
 

Changelog

Source

v4.0.1

New

  • Added more unit tests for isValid and breakdown

Fixed

  • Added warning into README that currently phone-fns is focused on US based phone number styles
  • Updated github action to LTS of node

Chore

  • Updated dependencies

Readme

Source

license:mit Netlify Status Npm Version Build Status

Phone Fns

A small modern, and functional phone number library which gathers inspiration from the fun date-fns library

[!NOTE] Currently Phone-Fns is focused on US based phone numbers, I am happy to welcome contributions to internationalize the library!

How-To

npm i phone-fns

Standard module system

import * as phoneFns from 'phone-fns'

phoneFns.uglify('555-444-3333') // => '5554443333'

Common JS

const phoneFns = require('phone-fns')

phoneFns.uglify('555-444-3333') // => '5554443333'

Using Unpkg or jsdelivr CDN (As of v4.0.0+)

<script src="https://cdn.jsdelivr.net/npm/phone-fns@4.0.0/dist/phone-fns.iife.min.js"></script>
<script>
  phoneFns.uglify('555-444-3333') // => '5554443333'
</script>

Through the browser

<script src="path/to/location/dist/phone-fns.iife.min.js"></script>
<script>
  phoneFns.uglify('555-444-3333') // => '5554443333'
</script>

Usage

import * as phoneFns from 'phone-fns'

phoneFns.breakdown('4443332222')
// => { areaCode: '444', localCode: '333', lineNumber: '2222', extension: '' }

phoneFns.format('(NNN) NNN-NNNN', '4443332222')
// => '(444) 333-2222'

You can also destructure to only use the functions you want

import { breakdown, format } from 'phone-fns'

breakdown('4443332222')
// => { areaCode: '444', localCode: '333', lineNumber: '2222', extension: '' }

format('(NNN) NNN-NNNN', '4443332222')
// => '(444) 333-2222'

Placeholder Support

Phone-Fns as of v3.2.0 now supports placeholder syntax using Underscores _

const fn = format('NNN-NNN-NNNN')

fn('__________') // => '___-___-____'
fn('444_______') // => '444-___-____'
fn('444555____') // => '444-555-____'
fn('4445556666') // => '444-555-6666'
format('NNN-NNN-NNNN x NNNN', '5554443333____') // => '555-444-3333 x ____'

This will only work with underscores or other characters not picked up by the Regex \W type.

Just call format as the phone number updates in order to get back the newly updated string. Useful for using it with a input mask setup

Keywords

FAQs

Last updated on 28 Jan 2024

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc