njoguamos / laravel-kenya-mobile
A rule for validating Kenya mobile number in a Laravel application.
Installs: 1 191
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 1
Forks: 1
Open Issues: 1
Requires
- php: ^8.1
- illuminate/contracts: ^9.0 | ^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0 | ^8.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
README
Validate Kenyan Mobile Phone
A rule for validating Kenyan mobile number.
1. Why use this package
- Save time from implementing your own validation rule.
- Tested with phone number approved by Communications Authority of Kenya supported.
Info This package assumed that the phone number is either a 9 digit e.g
700325008
or 10 digit0700325008
. Number with leadingzero (0)
should be casted into an(int)
before storing in a database. It also assumed that you will store the prefix+254
in different column or table.
2. Installation
You can install the package via composer:
composer require njoguamos/laravel-kenya-mobile
3. Usage
3.1 Inside a form request
<?php namespace App\Http\Requests; use NjoguAmos\KeMobile\KenyaMobileRule; use Illuminate\Foundation\Http\FormRequest; class RegisterUserRequest extends FormRequest { /** @return array<string, mixed> */ public function rules(): array { return [ // ... other rules 'phone' => ['nullable', new KenyaMobileRule(),'unique:users,phone'], ]; } }
3.2 Supported mobile numbers
Carrier | Prefix |
---|---|
Airtel Networks Kenya Ltd | 100, 101, 102, 103, 104, 105, 106 |
Safaricom PLC | 110, 111, 112, 113, 114, 115 |
Jambo Telcoms Ltd | 120 |
Infura Ltd | 124 |
Hidiga Investments Ltd | 126 |
Webtribe Ltd | 128 |
NRG Media Ltd | 130 |
Safaricom PLC | 700, 701, 702, 703, 704, 705, 706, 707, 708, 709 |
Safaricom PLC | 710, 711, 712, 713, 714, 715, 716, 717, 718, 719 |
Safaricom PLC | 720, 721, 722, 723, 724, 725, 726, 727, 728, 729 |
Airtel Networks Kenya Ltd | 730, 731, 732, 733, 734, 735, 736, 737, 738, 739 |
Safaricom PLC | 740, 741, 742, 743 |
Homelands Media Ltd | 744 |
Safaricom PLC | 745, 746 |
Jamii Telecoms Ltd | 747 |
Safaricom Ltd | 748 |
IEBC in KIEMS Kits | 749 |
Airtel Networks Kenya Ltd | 750, 751, 752, 753, 754, 755, 756 |
Safaricom Ltd | 757, 758, 759 |
Mobile Pay Ltd | 760 |
Eferio Kenya Ltd | 761 |
Airtel Networks Kenya Ltd | 762 |
Finserve Africa Ltd | 763, 764, 765, 766 |
Airtel Networks Kenya Ltd | 767 |
Safaricom PLC | 768, 769 |
Telkom Kenya Ltd | 770, 771, 772, 773, 774, 775, 776, 777, 778, 779 |
Airtel Networks Kenya Ltd | 780, 781, 782, 783, 784, 785, 786, 787, 788, 789 |
Safaricom PLC | 790, 791, 792, 793, 794, 795, 796, 797, 798, 799 |
4. Testing
composer test
5. Changelog
Please see RELEASES for more information what has changed recently.
6. Contributing
Please see CONTRIBUTING for details.
7. Security Vulnerabilities
If you discover any security related issues, please email njoguamos@gmail.com instead of using the issue tracker.
8. Credits
9. License
The MIT License (MIT). Please see License File for more information.