et-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
- 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.
- Why is
et-phone
returning an object withisValid: 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.