njoguamos/laravel-kenya-mobile

A rule for validating Kenya mobile number in a Laravel 11+ application.
8,051 10
Install
composer require njoguamos/laravel-kenya-mobile
Latest Version:v3.1.0
PHP:^8.3 || ^8.4 || ^8.5
Laravel:11 · 12 · 13
Older releases:9 · 10
License:MIT
Last Updated:Aug 20, 2026
Links: GitHub  ·  Packagist
Maintainer: njoguamos

Art work

Validate Kenyan Mobile Phone

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

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

  1. Save time from implementing your own validation rule.
  2. Tested with phone number approved by Communications Authority of Kenya supported.

2. Installation

Version Supported Laravel
1.x 9.x, 10.x
2.x 11.x, 12.x
3.x 12.x, 13.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, 118, 119
Safaricom PLC 140, 141, 142, 143
Safaricom PLC 180, 181, 182
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.

Related Packages

smodav/mpesa

M-Pesa API implementation

71,425 163
felixmuhoro/laravel-mpesa

Modern, fully-typed M-Pesa Daraja 2.0 integration for Laravel 10 / 11 / 12. STK...

158,129 1
mhassan654/laravel-pesapal-sdk

Laravel package to manage current pesapal payment api, can be used for web and r...

2,107 1
akika/laravel-mpesa-multivendor

A multivendor Laravel package for integrating Safaricom M-Pesa Daraja APIs. It a...

1,477 0

Version History

Version Released PHP Laravel License
v3.1.0 ^8.3 || ^8.4 || ^8.5 ^11.0 || ^12.0 || ^13.0 MIT
v3.0.1 ^8.3 || ^8.4 || ^8.5 ^11.0 || ^12.0 || ^13.0 MIT
v3.0.0 ^8.3 || ^8.4 || ^8.5 ^11.0 || ^12.0 || ^13.0 MIT
v2.7.0 ^8.2 ^11.0 | ^12.0 MIT
v2.6.0 ^8.2 ^11.0 | ^12.0 MIT