Подтвердите номер как мобильный номер в Великобритании, используя только libphonenumber-for-php - PullRequest
0 голосов
/ 21 мая 2019

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

1 Ответ

0 голосов
/ 28 мая 2019

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

...