Nondeterministic Palindrome Machine

    @opendevtools/telefonnummer
    TypeScript icon, indicating that this package has built-in type declarations

    2.2.0 • Public • Published

    Telefonnummer

    npm (scoped)

    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!

    Install

    npm i @opendevtools/telefonnummer

    DownloadsWeekly Downloads

    6

    Version

    2.2.0

    License

    MIT

    Unpacked Size

    180 kB

    Total Files

    33

    Last publish

    Collaborators

    • believer
    • dubbelnisse