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