oppure con le regExp
codice:
if(f.cap.value=="" || f.cap.value=="undefined" || !f.cap.value.match(/^\d+$/)){
...etc...
se vuoi che siano consentiti 5 e solo 5 caratteri numerici
!f.cap.value.match(/^\d{5}$/)

ciao