phone-validator-lk

1.0.0 • Public • Published

phone-validator-lk

A lightweight and robust Node.js library for validating and normalizing Sri Lankan phone numbers.

npm version License: MIT

Features

  • Validates both mobile and landline Sri Lankan phone numbers
  • Normalizes numbers to the international format (+94XXXXXXXXX)
  • Identifies phone number types (mobile or landline)
  • Accepts multiple input formats
  • Zero dependencies
  • Compatible with Node.js v14+
  • Available as both CommonJS and ESM

Installation

npm install phone-validator-lk

or

yarn add phone-validator-lk

Usage

CommonJS

const { validatePhone, normalizePhone, getPhoneType } = require('phone-validator-lk');

ES Modules

import { validatePhone, normalizePhone, getPhoneType } from 'phone-validator-lk';

API

validatePhone(number)

Validates a phone number and returns an object with validation results.

Parameters:

  • number (string): The phone number to validate

Returns:

An object with the following properties:

  • isValid (boolean): Whether the number is a valid Sri Lankan phone number
  • normalized (string|null): The normalized number in international format, or null if invalid
  • type (string|null): 'mobile', 'landline', or null if invalid
  • original (string): The original input

Example:

validatePhone('0712345678');
// {
//   isValid: true, 
//   normalized: '+94712345678', 
//   type: 'mobile', 
//   original: '0712345678'
// }

validatePhone('071-234-5678');
// {
//   isValid: true, 
//   normalized: '+94712345678', 
//   type: 'mobile', 
//   original: '071-234-5678'
// }

validatePhone('0712345');
// {
//   isValid: false, 
//   normalized: null, 
//   type: null, 
//   original: '0712345'
// }

normalizePhone(number)

Normalizes a phone number to international format.

Parameters:

  • number (string): The phone number to normalize

Returns:

  • (string|null): The normalized number or null if the number is invalid

Example:

normalizePhone('0712345678'); // '+94712345678'
normalizePhone('071-234-5678'); // '+94712345678'
normalizePhone('invalid'); // null

getPhoneType(number)

Determines the type of phone number.

Parameters:

  • number (string): The phone number to check

Returns:

  • (string|null): 'mobile', 'landline', or null if invalid

Example:

getPhoneType('0712345678'); // 'mobile'
getPhoneType('0112345678'); // 'landline'
getPhoneType('invalid'); // null

Supported Formats

The library accepts the following phone number formats:

Mobile Numbers

Mobile numbers in Sri Lanka have the format 07X-XXX-XXXX where X is a digit. The package supports the following prefixes: 70, 71, 72, 74, 75, 76, 77, 78.

Examples of valid mobile number formats:

  • +94712345678
  • 0712345678
  • 94712345678
  • 071-234-5678
  • 071 234 5678
  • And more...

Landline Numbers

Landline numbers in Sri Lanka have the format 0XX-XXX-XXXX where XX is the area code.

Examples of valid landline number formats:

  • +94112345678
  • 0112345678
  • 94112345678
  • 011-234-5678
  • 011 234 5678
  • And more...

License

MIT

Package Sidebar

Install

npm i phone-validator-lk

Weekly Downloads

8

Version

1.0.0

License

MIT

Unpacked Size

9.65 kB

Total Files

5

Last publish

Collaborators

  • omindulk