re-telefonnummer

![npm](https://img.shields.io/npm/v/bs-telefonnummer.svg) [![Build Status](https://travis-ci.com/believer/bs-telefonnummer.svg?branch=master)](https://travis-ci.com/believer/bs-telefonnummer) [![Test Coverage](https://api.codeclimate.com/v1/badges/ca9e96b

Usage no npm install needed!

<script type="module">
  import reTelefonnummer from 'https://cdn.skypack.dev/re-telefonnummer';
</script>

README

Telefonnummer

npm Build Status Test Coverage

This is a port of my library telefonnummer to ReasonML. It parses Swedish phone numbers into a standard format. It doesn't contain the full API of the original library as I felt it would be a good opportunity to start fresh.

Installation

npm install bs-telefonnummer

Add bs-telefonnummer in bs-dependencies of bsconfig.json

API

parse

Takes a phone number of any kind and parses it to a standard format

let parse: string => string

Example

let parsedPhoneNumber = Telefonnummer.parse("081234567") /* 08-123 45 67 */
let parsedMobileNumber = Telefonnummer.parse("0701234567") /* 070-123 45 67 */

typeOfNumber

Takes a phone number and returns the type. Usable for pattern-matching.

type t =
  | VoiceMail
  | Mobile
  | Landline

let typeOfNumber: string => t

Example

let phoneNumberType = Telefonnummer.typeOfNumber("081234567") /* Landline */

Normalize

The Normalize module is exposed publically if you need to clean up a phone number for use in for example tel: links.

module Normalize = {
  let clean: string => string
}

Example

let cleanPhoneNumber = Telefonnummer.Normalize.clean("08-12 3 45.67") /* 081234567 */

Validate

The Validate module can help you check if a phone number is valid. It cleans the phone number from any non-number characters.

module Validate = {
  let isValid: string => bool
}

Example

let isValid = Telefonnummer.Validate.isValid("08-12 3 45.67") /* true */

Link

The Link module creates phone number links.

module Link = {
  let make: string => string
}

Example

let link = Telefonnummer.Link.make("08-12 3 45.67") /* tel:081234567 */