Проверка узбекского номера PHP: методы и примеры кода

Чтобы проверить номер телефона в PHP, вы можете использовать различные методы. Вот несколько примеров:

Метод 1: регулярное выражение

function validatePhoneNumber($number) {
    $pattern = "/^\+[0-9]{1,3}-[0-9]{3}-[0-9]{3}-[0-9]{4}$/";
    return preg_match($pattern, $number);
}
$phoneNumber = "+998-90-123-4567";
if (validatePhoneNumber($phoneNumber)) {
    echo "Phone number is valid.";
} else {
    echo "Phone number is not valid.";
}

Метод 2: манипуляции со строками

function validatePhoneNumber($number) {
    $number = str_replace(['-', ' '], '', $number);
    return ctype_digit($number) && strlen($number) === 12 && substr($number, 0, 4) === "+998";
}
$phoneNumber = "+998 90-123-4567";
if (validatePhoneNumber($phoneNumber)) {
    echo "Phone number is valid.";
} else {
    echo "Phone number is not valid.";
}

Метод 3. Использование библиотеки (например, libphonenumber)

require_once 'libphonenumber/autoload.php';
use libphonenumber\PhoneNumberUtil;
use libphonenumber\PhoneNumberFormat;
function validatePhoneNumber($number) {
    $phoneNumberUtil = PhoneNumberUtil::getInstance();
    try {
        $phoneNumber = $phoneNumberUtil->parse($number, "UZ");
        return $phoneNumberUtil->isValidNumber($phoneNumber);
    } catch (\libphonenumber\NumberParseException $e) {
        return false;
    }
}
$phoneNumber = "+998901234567";
if (validatePhoneNumber($phoneNumber)) {
    echo "Phone number is valid.";
} else {
    echo "Phone number is not valid.";
}