samuelbie/mzmsisdn

莫桑比克用户的多媒体识别码(MSISDN)识别和清理库

2.2.1 2023-01-20 22:05 UTC

This package is auto-updated.

Last update: 2024-09-21 02:10:09 UTC


README

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

轻松验证和操作莫桑比克手机号码。支持TMcel、Vodacom和Movitel

索引

安装

在项目根目录下执行以下命令(假设您已安装Composer):

composer require samuelbie/mzmsisdn

使用

验证手机号码

最基本的方法是执行类 Msisdn 的静态方法 validate,传递手机号码作为参数。

$mobileNumber = '823847698';

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

validate 方法将编译或清理输入的号码并执行验证,确保即使用户在字符串中间输入了分隔符,方法也会返回真,如果该号码确实是有效的。

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

实例化MSISDN对象

另一种方法是创建一个 MSISDN 类的实例,并将联系号码格式化为莫桑比克格式。

$mobileNumber = '823847556';

$msisdn = new Msisdn($mobileNumber);

如果构造函数没有使用有效号码提供,MSISDN 对象将抛出 InvalidMsisdnException。在这种情况下,处理异常或在构建对象之前验证号码是一个好主意。

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

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

或者

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


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

手机号码标准化格式

实例化一个 Msisdn 对象时,可以根据您的上下文返回多种手机号码格式。

$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

基于运营商的功能

可能需要根据联系号码的原始运营商执行一些功能。

在此处假设

  1. 82 或 83 是 TMcel 的前缀
  2. 84 或 85 是 Vodacom 的前缀
  3. 86 或 87 是 Movitel 的前缀
$mobileNumber = '823847555';

$msisdn = new Msisdn($mobileNumber);

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

验证运营商

例如,如果您想知道联系号码是否属于特定的运营商。

$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

运营商前缀

同样,您可以仅收集运营商的前缀。

$mobileNumber = '823847556';

$msisdn = new Msisdn($mobileNumber);

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

Laravel验证集成

此包已包含与Laravel验证的集成,您可以在其中轻松对 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

示例

    $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',
    ]);

致谢

许可

MIT 许可证(MIT)。有关更多信息,请参阅许可证文件