как насчёт варианта isdigit()? и при «False» выведи ему «Укажи только цифры»
Но это такая себе идея. Более правильный вариант — использовать маску, (подставлять все цифры пользователя на нужное место) или просить пользователя прислать свой контакт, и из контакта по API дёргать нужные тебе значения
15 символов, с учётом пробелов:
1. Поставь ограничение ввода на 15 символов. Принимай первые 15 символов, например
2. убедись, что '+' в строке нет (if '+' in phone:)
3. Если + есть, то смотри телефон со следующей от него цифры. Можешь пользоваться поиском по индексу, например. Если плюса нет, тогда от первого символа.
4. Проверяй первые 2 цифры после +375 на соответствие (phone[0:2] in ['25', '44', '33', '29', '17']
). Если не соответствует, отправляй ошибку
5. Проверяй последние 7 цифр. Если их меньше, указывай ошибку. Если их больше, отправляй ошибку.
Вариантов, конечно, много
Можно отсплитить по пробелам и сджойнить и т.д.