У вашего регулярного выражения есть опечатка и упущение. Опечатка в том, что пределы диапазона должны быть разделены запятой. Упущение состоит в том, что вы не проверяете первый символ отдельно:
^[a-zA-Z][a-zA-Z0-9_]{7,29}$
Диапазон уменьшается на единицу для размещения фиксированного первого символа.