【问题标题】:Validate number as a UK mobile number only using libphonenumber-for-php仅使用 libphonenumber-for-php 将号码验证为英国手机号码
【发布时间】:2019-05-21 01:58:41
【问题描述】:

我正在使用 libphonenumber-for-php 编写一个验证类,该类将检查一个号码是否是英国手机号码。其他任何事情都会失败。

public function validate(){
    $phoneUtil = \libphonenumber\PhoneNumberUtil::getInstance();
    $carrierMapper = \libphonenumber\PhoneNumberToCarrierMapper::getInstance();

    foreach ($this->phoneNumbers as $number){
        try {
            $phoneNumberObject = $phoneUtil->parse($number, 'GB');
        }catch (NumberParseException $e){
            echo $e;
        }

        $valid = $phoneUtil->isValidNumber($phoneNumberObject);
        $type = $phoneUtil->getNumberType($phoneNumberObject); 
        $carrier = $carrierMapper->getNameForNumber($phoneNumberObject, 'en');
    }
}

这就是必需的吗?我检查它是否是有效号码,然后检查它是否属于手机号码类型。我还应该做些什么来 100% 确定传入的号码是有效的英国手机号码吗?

【问题讨论】:

    标签: php libphonenumber


    【解决方案1】:

    我认为获取运营商的方法是getDescriptionForNumber。我不是一个完整的 PHP 程序员,但我在 Python 和 C 中使用了这个库,然后因为那个方法我得到了同样的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-12
      • 1970-01-01
      • 1970-01-01
      • 2021-11-23
      • 2011-12-27
      • 2020-01-24
      • 2013-12-01
      • 2016-08-30
      相关资源
      最近更新 更多