et-phone
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

et-phone

Ethiopian phone number digit validation
(incl. Safaricom Ethiopia phone)

Installing

Package manager

Using npm:

$ npm install et-phone

Using yarn:

$ yarn add et-phone

Once the package is installed, you can import the library using import or require approach:

import etPhone from 'et-phone';

[Since the function is exported using default export, you can use any name instead of 'etPhone' as the name for the imported function.]

Examples

The default validation will include mobile and fixed-line/ landline phone numbers for Ethio-telecom and Safaricom-Ethiopia.

etPhone("0911 23 45 67") 
// { isValid: true, phoneNumber: "+251911234567", provider: "Ethio telecom", phoneType: "Mobile" }
etPhone("0711 23 45 67") 
// { isValid: true, phoneNumber: "+251711234567", provider: "Safaricom", phoneType: "Mobile" }
etPhone("+251 911 23 45 67") 
// { isValid: true, phoneNumber: "+251911234567", provider: "Ethio telecom", phoneType: "Mobile" }
etPhone("+251 711 23 45 67") 
// { isValid: true, phoneNumber: "+251711234567", provider: "Safaricom", phoneType: "Mobile" }
etPhone("+(251) 911 23 45 67") 
// { isValid: true, phoneNumber: "+251911234567", provider: "Ethio telecom", phoneType: "Mobile" }
etPhone("+(251) 711 23 45 67") 
// { isValid: true, phoneNumber: "+251711234567", provider: "Safaricom", phoneType: "Mobile" }
etPhone("911234567") 
// { isValid: true, phoneNumber: "+251711234567", provider: "Ethio telecom", phoneType: "Mobile" }
etPhone("711234567") 
// { isValid: true, phoneNumber: "+251711234567", provider: "Safaricom", phoneType: "Mobile",}
etPhone(911234567) 
// { isValid: true, phoneNumber: "+251711234567", provider: "Ethio telecom", phoneType: "Mobile" }
etPhone(711234567) 
// { isValid: true, phoneNumber: "+251711234567", provider: "Safaricom", phoneType: "Mobile" }

You can also specify specific phone number types: ["all" | "mobile" | "fixedLine" | "special" | "shortCode"]

etPhone("0911234567", ["all"]) 
// { isValid: true, phoneNumber: "+251711234567", provider: "Ethio telecom", phoneType: "Mobile" }
etPhone("0911234567", ["fixedLine"]) 
// { isValid: false }
etPhone("0111111234", ["fixedLine"]) 
// { isValid: true, phoneNumber: "+2519111111234", provider: "Ethio telecom", phoneType: "Fixed-line" }
etPhone("0111111234", ["special", "mobile"]) 
// { isValid: false }
etPhone("909", ["shortCode"]) 
// {isValid:  true, phoneNumber:  "909", provider:  "Ethio telecom", phoneType:  "Short Code" }
etPhone("8004", ["special"]) 
// {isValid:  true, phoneNumber:  "8004", provider:  "Ethio telecom", phoneType:  "Special" }
etPhone("0911234567", ["all"], ["ethioTelecom"]) 
// {"isValid": true, "phoneNumber": "+251911234567", "provider": "Ethio telecom", "phoneType": "Mobile"}
etPhone("0911234567", ["all"], ["safaricom"]) 
// {isValid: false}
etPhone("0711234567", ["all"], ["safaricom"]) 
// {isValid: true, phoneNumber: '+251711234567', provider: 'Safaricom', phoneType: 'Mobile'}

Test

npm test

FAQ

  1. Does et-phone validate the existence and activeness of the phone number?

No, et-phone does not perform validation on the existence and activeness of the phone number. Currently, et-phone only validates whether the digit belongs to the correct Ethiopian telecom provider and phone type. It does not verify if the phone number is currently active or whether it exists in the telecommunication network.

  1. Why is et-phone returning an object with isValid: false despite the phone number being correct?

Please ensure that you provide the other parameters, such as 'phone type' and 'provider', correctly.

Resources

License

et-phone is freely distributable under the terms of the MIT license.

Package Sidebar

Install

npm i et-phone

Weekly Downloads

0

Version

1.2.0

License

ISC

Unpacked Size

12.8 kB

Total Files

7

Last publish

Collaborators

  • eyob.samuel