4.0.1 • Published 3 months ago

phone-fns v4.0.1

Weekly downloads
821
License
MIT
Repository
github
Last release
3 months ago

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

4.0.1

3 months ago

4.0.0

8 months ago

3.2.3

3 years ago

3.2.1

4 years ago

3.2.0

5 years ago

3.1.0

5 years ago

3.0.0

5 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.3.3

6 years ago

0.3.2

6 years ago

0.3.1

6 years ago

0.3.0

6 years ago

0.2.0

6 years ago

0.1.0

6 years ago