Skip to content

Easily validate and manipulate Philippine mobile numbers.

License

Notifications You must be signed in to change notification settings

Samuel-Bie/msisdn-mz-php

 
 

Repository files navigation

MZ MSISISDN (Números de celulares moçambicanos)

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Facilmente validando e manipulando números de celulares Moçambicanos. Suporte para TMcel, Vodacom, e Movitel

Índice

Instalação

Execute na raiz do seu projeto (assumindo que tenhas instalado o Composer) o seguinte comando:

composer require samuelbie/mzmsisdn

Utilização

Validate the mobile number

A maneira mais básica é executando o método estático validate da classe Msisdn, passando como parâmetro o número de celular.

$mobileNumber = '823847698';

if (Msisdn::validate($mobileNumber)) {
    echo 'Valid mobile number';
} else {
    echo 'Invalid mobile number';
}

O método validate compila ou sanitiza o número dado como entrada e realiza a validação, garantindo que mesmo que o usuário tenha introduzido carateres de separação no meio da string o método retorne verdadeiro caso seja realmente válido:

$validMobileNumber = '+258823847556';
$validMobileNumber = '+258-82-38-47-556';
$validMobileNumber = '847386187';
$validMobileNumber = '84.738.6187';
$validMobileNumber = '258 82 38 47 556 ';

Instantiate an MSISDN object

De outro jeito podemos também criar uma instância da classe MSISDN e o contacto é padronizado ao formato Moçambicano.

$mobileNumber = '823847556';

$msisdn = new Msisdn($mobileNumber);

O objecto MSISDN irá lançar uma InvalidMsisdnException caso o construtor não seja alimentado com um número válido. Nesse contexto é uma boa ideia tratar a excepção ou validar o número antes de construir o objecto.

$invalidMobileNumber = '82-38-47-55';

try {
   $msisdn = new Msisdn($invalidMobileNumber);
} catch (InvalidMsisdnException $e) {
   echo 'The number is invalid';
   return;
}

OR

$invalidMobileNumber = '82-38-47-55';


if (Msisdn::validate($invalidMobileNumber)) {
    $msisdn = new Msisdn($invalidMobileNumber);
} else {
   echo 'Invalid mobile number';
   return;
}

Formato padronizado dos números de celular

Ao instanciar um objecto Msisdn, poderá retornar vários formatos de números de celular, dependendo naturalmente do que será mais útil para o seu contexto.

$mobileNumber = '823847556';

$msisdn = new Msisdn($mobileNumber);

echo $msisdn->get(); // will return 258823847556

echo $msisdn->getFormatted(); // will return "+258 823 847 556"

echo $msisdn->getFullNumber(); // will return +258823847556

Funções baseadas em operadoras

Pode ser que lhe convenha realizar algumas funções baseadas na operadora raiz do contacto.

Nesta área assumisse que:

  1. 82 ou 83 são prefixos da TMcel
  2. 84 ou 85 são prefixos da Vodacom
  3. 86 ou 87 são prefixos da Movitel
$mobileNumber = '823847555';

$msisdn = new Msisdn($mobileNumber);

echo $msisdn->getOperator(); // will return TMCEL

Verificando a operadora

Assuma por exemplo que queiras saber se o contacto é de uma determinada operadora.

$mobileNumber = '823847555';

$msisdn = new Msisdn($mobileNumber);

echo $msisdn->isVodacom(); // will return false
echo $msisdn->isTmcel(); // will return true
echo $msisdn->isMovitel(); // will return false
$mobileNumber = '847386728';

$msisdn = new Msisdn($mobileNumber);


echo $msisdn->isVodacom(); // will return true
echo $msisdn->isTmcel(); // will return false
echo $msisdn->isMovitel(); // will return false

Prefixo da operadora

De igual forma você pode coletar o prefixo da operadora apenas.

$mobileNumber = '823847556';

$msisdn = new Msisdn($mobileNumber);

echo $msisdn->getPrefix(); // will return 82

Integração as validações Laravel

Este pacote já traz consigo a integração com as validações laravel, onde poderá facilmente efetuar validações aos seus HTTP requests.

"msisdn"            // This validates mozambican mobile number
"msisdn_vodacom"    // This just vodacom mobile number
"msisdn_movitel"    // This just movitel mobile number
"msisdn_tmcel"      // This just tmcel mobile number

Example

    $validated = $request->validate([
        'telefone' => 'bail|required|msisdn',
        'contacto_vodacom' => 'bail|required|msisdn_vodacom',
        'contacto_movitel' => 'bail|required|msisdn_movitel',
        'contacto_tmcel' => 'bail|required|msisdn_tmcel',
    ]);

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Easily validate and manipulate Philippine mobile numbers.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%