Регулярное выражение для проверки домена с поддержкой punycode?
а почему нельзя конвертировать в utf-8 и проверять?
/^[0-9a-z][0-9a-z-]{0,62}[0-9a-z]\.xn--p1ai$/
вот для РФ. НО! Это только для проверки punycode. По правилам РФ необходимо ещё проверять и представление в кириллическом написании.