2.1.0 • Published 5 years ago

telefonnummer v2.1.0

Weekly downloads
30
License
MIT
Repository
github
Last release
5 years ago

Telefonnummer

npm version Build Status Code Climate Test Coverage Known Vulnerabilities

Telefonnummer is phone number in Swedish. This package formats all Swedish phone numbers, both mobile and landline, to a standard format. Area code information is provided by Post- och telestyrelsen (PTS).

Installation

npm install telefonnummer --save

Parse

parse(phoneNumber: string, options?: ParserOptions ): string

Take a phone number and return a parsed version of the number. Parser is also default export of package, but might be removed as default in the future.

Example

import { parse } from 'telefonnummer'

parse('222') // Röstbrevlåda (Voicemail in Swedish)
parse('0701234567') // 070-123 45 67
parse('468123456') // 08-12 34 56
parse('031626262') // 031-62 62 62
parse('050012345') // 0500-123 45

// With custom separator
parse('0701234567', { separator: ':' }) // 070:123 45 67

// Internationalized
parse('0701234567', { internationalized: true }) // +46701234567

Parser options

PropertyTypeDefaultDescription
separatorstring'-'Separator between area code and phone number
internationalizedbooleanfalseIf true returns on the format +46xxxxxxxxxx

Area code

areaCode(area: string): string

Returns the area code of the provided city

Example

import { areaCode } from 'telefonnummer'

areaCode('Stockholm') // 08
areaCode('Korpilombolo') // 0977

Numbering area

numberingArea(areaCode: string | number): string

Returns the numbering area for a provided area code or phone number. Also handles numbers without leading zero.

Example

import { numberingArea } from 'telefonnummer'

numberingArea('0977-123 45') // Korpilombolo
numberingArea('081234567') // Stockholm
numberingArea('08') // Stockholm
numberingArea('031') // Göteborg
numberingArea(8) // Stockholm

Validator

interface ValidatorOptions {
  onlyMobile?: boolean
}

validator(phoneNumber: string, options?: ValidatorOptions): boolean

Validates both mobile and landline numbers.

Example

import { validator } from 'telefonnummer'

validator('0977-123 45') // true
validator('081234567') // true
validator('050012123456') // false
validator('0500123456', { onlyMobile: true }) // false
validator('0701234567', { onlyMobile: true }) // true

Area codes

areaCodes(): string[]

Returns a number sorted array of all the area codes.

Example

import { areaCodes } from 'telefonnummer'

areaCodes()
//  [
//    '011 Norrköping',
//    '0120 Åtvidaberg',
//    '0121 Söderköping',
//    ....
//  ]

Normalize

normalize(string): string

Clean up any non-digits and country codes from phone number.

Example

import { normalize } from 'telefonnummer'

normalize('070-123.45x67') // 0701234567
normalize('+46701234567') // 0701234567

AreEqual

areEqual(string, string): boolean

Cleans up provided strings and checks if the two phone number values match.

Example

import { areEqual } from 'telefonnummer'

areEqual('0701234567', '0701234567') // true
areEqual('070-123.45 67', '070123--45 67') // true

Tests

npm test

Contributors

Thanks goes to these wonderful people (emoji key):

Rickard Laurin🐛 💻 📖 👀Jimmy Jardland📖

This project follows the all-contributors specification. Contributions of any kind welcome!

2.1.0

5 years ago

2.0.4

5 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.5.2

7 years ago

0.5.1

7 years ago

0.5.0

7 years ago

0.4.0

7 years ago

0.3.0

7 years ago

0.2.1

7 years ago

0.2.0

7 years ago

0.1.0

7 years ago