@opendevtools/telefonnummer
v2.3.3
Published
Phone number formatter for Swedish phone numbers
Downloads
627
Readme
Telefonnummer
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 @opendevtools/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 '@opendevtools/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
| Property | Type | Default | Description |
| :---------------- | :------ | :------ | :-------------------------------------------- |
| separator | string | '-' | Separator between area code and phone number |
| internationalized | boolean | false | If true returns on the format +46xxxxxxxxxx
|
Area code
areaCode(area: string): string
Returns the area code of the provided city
Example
import { areaCode } from '@opendevtools/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 '@opendevtools/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 '@opendevtools/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 '@opendevtools/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 '@opendevtools/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 '@opendevtools/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!