var str = '+38....'; // номер телефона украины
str.match(/(?:\w)(?:(?:(?:(?:\+?3)?8\W{0,5})?0\W{0,5})?[34569]\s?\d[^\w,;(\+]{0,5})?\d\W{0,5}\d\W{0,5}\d\W{0,5}\d\W{0,5}\d\W{0,5}\d\W{0,5}\d(?!(\W?\d))/)
без негативного просмотра назад с отрицанием.
только это выражение не проверяет валидность номера, а вытаскивает его из строки.