Telefonnummer
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: Js.String.t => Js.String.t;
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: Js.String.t => 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: Js.String.t => Js.String.t;}
Example
let cleanPhoneNumber = Telefonnummer.Normalize.clean("08-12 3 45.67"); /* 081234567 */
Validator
The Validator
module can help you check if a phone number is valid. It cleans the phone number from any non-number characters.
module Validator = { let isValid: Js.String.t => bool;}
Example
let isValid = Telefonnummer.Validator.isValid("08-12 3 45.67"); /* true */
Link
The Link
module creates phone number links.
module Link = { let make: Js.String.t => Js.String.t;}
Example
let link = Telefonnummer.Link.make("08-12 3 45.67"); /* tel:081234567 */