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