Если вы хотите проверить, является ли строка a) полностью состоящей из шестнадцатеричных цифр и b) длиной точно 0, 10, 24, 26 или 58 символов (хотя я не получаю то, что вы хотите с 24 цифрами),тогда вы можете использовать
^[0-9a-fA-F]*$
и утверждать, что длина совпадения равна 0, 10, 24, 26 или 58. Или вы можете сделать это в одном регулярном выражении:
^(?:[0-9a-fA-F]{10}|[0-9a-fA-F]{24}|[0-9a-fA-F]{26}|[0-9a-fA-F]{58})?$