Подтвердить номер как номер мобильного телефона в Великобритании, используя только libphonenumber-for-php

Я использую 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% уверенным, что переданный номер является действительным номером мобильного телефона в Великобритании?


person user794846    schedule 21.05.2019    source источник


Ответы (1)


Я думаю, что метод получения оператора — это getDescriptionForNumber. Я не полный PHP-программист, но я использую эту библиотеку в Python и C, а затем получаю ту же ошибку из-за этого метода.

person Parzival    schedule 28.05.2019