Доброго времени суток, у меня есть валидация по регулярке:  
(PHP)
public function validatePhone($phone, $country): bool
    {
        $patterns = [
            'us' => '~^(\+)?1?[0-9]{10}$~',
            'au' => '~^(\+)?61?[0-9]{9}$~',
            'by' => '~^(\+)?375?[0-9]{9}$~',
            'cz' => '~^(\+)?420?[0-9]{9}$~',
            'de' => '~^(\+)?49?[0-9]{10}$~',
            'il' => '~^(\+)?972?[0-9]{9}$~',
            'kz' => '~^(\+)?7?[0-9]{10}$~',
            'kg' => '~^(\+)?996?[0-9]{9}$~',
            'pl' => '~^(\+)?48?[0-9]{9}$~',
            'ro' => '~^(\+)?40?[0-9]{9}$~',
            'ru' => '~^(\+)?7?[0-9]{10}$~',
            'sk' => '~^(\+)?421?[0-9]{9}$~',
            'th' => '~^(\+)?66?[0-9]{9}$~',
            'ua' => '~^(\+)?380[0-9]{9}$~',
            'uz' => '~^(\+)?998?[0-9]{9}$~'
        ];
        if (isset($patterns[$country])) {
            return (bool)preg_match($patterns[$country], $phone);
        } else {
            return false;
        }
    }
(Javascript)
$("#phoneinput").on('countrychange', function () {
        const country = window.iti.getSelectedCountryData().iso2;
        const input = $('input[name="country"]');
        input.val(country);
    });
});
И в самом "country" идет получение двух букв страны и в последствии всё сверяется по регурярному выражению.
Предложите пожалуйста решение, чтобы каждый раз не добавлять вручную? Точнее более универсальное решение, может какую-то библиотеку для этого. Заранее всем большое спасибо.