tel-check-ts
v1.0.2
Published
Nigerian telephone line checker
Readme
TelCheck 📞
TelCheck is a lightweight React hook that validates Nigerian phone numbers and determines their associated mobile network operator (e.g., MTN, Airtel, Glo, etc.).
🚀 Features
- Identify Nigerian phone numbers by their prefixes.
- Returns network details such as name, logo, and a descriptive message.
- Provides feedback for invalid or unknown numbers.
- Easy to integrate into any React project.
📦 Installation
Install the package using npm:
npm install telcheck
📖 Usage
Import the Hook
To start using the TelCheck hook, import it into your React component:
typescript
Copy
Edit
import { useVerifyNumber } from 'telcheck';
import { toast } from 'sonner'; // For toast notifications
Example Implementation
Here’s an example of how you can integrate the useVerifyNumber hook:
tsx
Copy
Edit
import React, { useState } from 'react';
import { useVerifyNumber } from 'telcheck';
import { toast } from 'sonner';
const PhoneNumberVerifier = () => {
const [phoneNumber, setPhoneNumber] = useState('');
const { verifyNumber } = useVerifyNumber();
const handleVerification = () => {
const result = verifyNumber(phoneNumber);
if (result) {
toast(result.message); // Display the result in a toast notification
console.log('Network Name:', result.name);
console.log('Network Logo:', result.imgSrc);
}
};
return (
<div>
<h1>Phone Number Verifier</h1>
<input
type="text"
value={phoneNumber}
onChange={(e) => setPhoneNumber(e.target.value)}
placeholder="Enter a phone number"
/>
<button onClick={handleVerification}>Verify</button>
</div>
);
};
export default PhoneNumberVerifier;🛠 Hook API
useVerifyNumber() The hook provides the verifyNumber function to validate phone numbers.
verifyNumber(input: string): object
Parameters:
- input (string): The phone number to verify.
Returns:
name (string | null): The name of the network (e.g., "MTN", "Glo").
imgSrc (string | null): The path to the network's logo.
message (string): A descriptive message about the network.
Example Response
For a valid MTN number:
{
"name": "MTN",
"imgSrc": "/images/mtn.jpg",
"message": "This is an MTN phone number."
}For an unknown or invalid number:
{
"name": null,
"imgSrc": null,
"message": "Unknown network"
}📋 Supported Networks
The package recognizes prefixes for the following networks:
- MTN - 0803, 0703, 0903, 0806, 0706, 0813, ...
- Glo - 0805, 0807, 0705, 0811, 0815, ...
- Airtel - 0802, 0808, 0708, 0701, 0812, ...
- 9mobile - 0809, 0817, 0818, 0908, 0909
- Ntel - 0804
- Starcomms - 0819, 07028, 07029
- Smile - 0702
- Zoom - 0707
🔔 Toast Notifications
To enable the toast notifications, install the sonner package:
npm install sonnerUse the toast function from sonner to display notifications.
🤝 Contributing
We welcome contributions! Feel free to fork the repository and submit a pull request.
📄 License
This project is licensed under the MIT License.
📧 Support
If you encounter any issues or have questions, please open an issue on the GitHub repository.
Happy coding! 🎉
