phone-validator-lk
v1.0.0
Published
A lightweight Node.js library to validate, detect type, and normalize Sri Lankan mobile and landline phone numbers. Supports various input formats and standardizes them to international format (+94).
Maintainers
Readme
phone-validator-lk
A lightweight and robust Node.js library for validating and normalizing Sri Lankan phone numbers.
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-lkor
yarn add phone-validator-lkUsage
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 numbernormalized(string|null): The normalized number in international format, or null if invalidtype(string|null): 'mobile', 'landline', or null if invalidoriginal(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'); // nullgetPhoneType(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'); // nullSupported 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:
+94712345678071234567894712345678071-234-5678071 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:
+94112345678011234567894112345678011-234-5678011 234 5678- And more...
License
MIT
