quello che non ti convince e' controllare il numero di cifre che compone la parte numerica?
regexp
per il resto se ripetessi l' operazione una caterva di volte varrebbe la pena di confrontare la rapidita' delle alternative, ma cosi' non sembra serva