A simple npm package for validating Tanzanian phone numbers using regular expressions.
You can install this package via npm:
npm i tanzanian-phone-validator
You can check an example of this library Here.
Here is how it look like:
Use the isValidPhoneNumber
function to validate a phone number. It returns true if the phone number is valid and false otherwise.
Use the getPhoneNumberDetails
function to get information about a phone number. It returns an object various information about the phone number as shown below:
const results = {
isValid: true,
telecomCompanyDetails: {
prefix: 76,
company: "Vodacom Tanzania Limited",
brand: "Vodacom",
operational: "yes",
},
};
Here are some usage examples with different validation libraries:
const yup = require("yup");
import { isValidPhoneNumber } from "tanzanian-phone-validator";
const schema = yup.object({
phoneNumber: yup
.string()
.test("is-tanzanian", "Invalid Tanzanian phone number", (value) => {
return isValidPhoneNumber(value);
}),
});
// Example usage
const data = {
phoneNumber: "+255761234567",
};
schema
.validate(data)
.then((validatedData) => {
console.log("Validation succeeded:", validatedData);
})
.catch((error) => {
console.error("Validation failed:", error.message);
});
const { z } = require("zod");
import { validateTanzanianPhoneNumber } from "tanzanian-phone-validator";
const schema = z.object({
phoneNumber: z.string().refine(
(value) => {
return isValidPhoneNumber(value);
},
{
message: "Invalid Tanzanian phone number",
}
),
});
// Example usage
const data = {
phoneNumber: "+255761234567",
};
try {
const validatedData = schema.parse(data);
console.log("Validation succeeded:", validatedData);
} catch (error) {
console.error("Validation failed:", error.message);
}
You can also directly use the isValidPhoneNumber function:
import { validateTanzanianPhoneNumber } from "tanzanian-phone-validator";
const phoneNumber = "+255761234567";
if (isValidPhoneNumber(phoneNumber)) {
console.log("Valid Tanzanian phone number.");
} else {
console.log("Invalid Tanzanian phone number.");
}
This table was used to used to create this package. IT can be found in wikipedia (Click here).. Note : this package does not validate for Operators which are not in Operation nor on this table.
Prefix | Operator | Trading as | Operational[1] |
---|---|---|---|
61 | Viettel Tanzania Limited | halotel | yes |
62 | Viettel Tanzania Limited | halotel | yes |
63 | Mkulima African Telecommunication Company Limited | Amotel | no |
64 | Wiafrica Tanzania Limited | CooTel | no |
65 | MIC Tanzania Limited | tiGo | yes |
66 | Smile Communications Tanzania Limited | smile | yes |
67 | MIC Tanzania Limited | tiGo | yes |
68 | Airtel Tanzania Limited | airtel | yes |
69 | Airtel Tanzania Limited | airtel | yes |
71 | MIC Tanzania Limited | tiGo | yes |
72 | MO Mobile Holding Limited | no | |
73 | Tanzania Telecommunications Company Ltd | TTCL | yes |
74 | Vodacom Tanzania Limited | Vodacom | yes |
75 | Vodacom Tanzania Limited | Vodacom | yes |
76 | Vodacom Tanzania Limited | Vodacom | yes |
77 | MIC Tanzania Limited | tiGo | yes |
78 | Airtel Tanzania Limited | airtel | yes |
79 | Benson Informatics Ltd | Smart | no |
License This package is licensed under the MIT License. See the LICENSE..