samuelbie/mzmsisdn 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

samuelbie/mzmsisdn

Composer 安装命令:

composer require samuelbie/mzmsisdn

包简介

An MSISDN identification and cleaner library for Mozambique subscribers

README 文档

README

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.

统计信息

  • 总下载量: 61
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 12
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-06-02

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固