njoguamos / laravel-kenya-mobile
A rule for validating Kenya mobile number in a Laravel 11+ application.
Installs: 2 112
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 1
Forks: 1
Open Issues: 1
Requires
- php: ^8.2
- illuminate/contracts: ^11.0
- spatie/laravel-package-tools: ^1.16.0
Requires (Dev)
- laravel/pint: ^1
- nunomaduro/collision: ^8.5.0
- nunomaduro/larastan: ^3.0.0
- orchestra/testbench: ^9.0
- pestphp/pest: ^v3.5.1
- pestphp/pest-plugin-laravel: ^3.0.0
- phpstan/extension-installer: ^1.4
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
README
Validate Kenyan Mobile Phone
A rule for validating Kenyan mobile number. You can either validate phone number with 9 or 10 digits such as 700325008
or 0700325008
or validate full phone number such as 254700325008
.
1. Why use this package
- Save time from implementing your own validation rule.
- Tested with phone number approved by Communications Authority of Kenya supported.
2. Installation
Version | Supported Laravel |
---|---|
1.Xx | 9.x, 10.x |
2.x | 11.x |
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\KenyaMobileFullRule; use NjoguAmos\KeMobile\KenyaMobileRule; use Illuminate\Foundation\Http\FormRequest; class RegisterUserRequest extends FormRequest { /** @return array<string, mixed> */ public function rules(): array { return [ // ... other rules // Validate phone number with 9 or 10 digits 'phone' => ['nullable', new KenyaMobileRule(),'unique:users,phone'], // Or validate full phone number 'full_phone' => ['nullable', new KenyaMobileFullRule(),'unique:users,full_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.