Hola buenas!! a ver si me podéis ayudar...

Os explico:
he creado un formulario en el cual he de validar sus campos con JavaScript. En TODOS estos campos sólo quiero comprobar que se introduce un numero (entero y positivo, para ser más exactos). Lo he conseguido hacer y funciona bien, el problema está en que en mi opinión el código que he creado es un poco... cutre o chapucero (pero funcionar ya he dicho que funciona). El código es el siguiente:
Código:
function valUsers(form)
{
var er_numero = /(^([0-9]{0,3})|^)$/ //número de máximo 3 digitos o cadena vacia
if(!er_numero.test(form.userA.value)) {
alert('Contenido del campo "Usuarios A" no válido.')
return (false);
}
if(!er_numero.test(form.userB.value)) {
alert('Contenido del campo "Usuarios B" no válido.')
return (false);
}
if(!er_numero.test(form.userC.value)) {
alert('Contenido del campo "Usuarios C" no válido.')
return (false);
}
if(!er_numero.test(form.userD.value)) {
alert('Contenido del campo "Usuarios D" no válido.')
return (false);
}
}
Como he dicho esto funciona. Pero como podéis ver se hace la misma comprobación 4 veces. Y en realidad son más de 4 porque aquí he reducido el código. Entonces a mi se me ha ocurrido crear una cadena, introducir todos los valores que quiero comprobar en ella, y recorrer esa cadena con un bucle "for" para hacer la validación. Algo así:
Código:
//Declaro la cadena, la he probado de estas 2 maneras y ninguna funciona:
//cadena = new Array(userA, userB, userC, userD);
//var cadena = [userA, userB, userC, userD];
for (i=0; i<4; i++) {
if(!er_numero.test(form.cadena[i].value)) {
alert('Contenido del campo cadena[i] no válido.')
return (false);
}
Qué hago mal en la declaración de la cadena y el bucle FOR?? o como puedo hacer la comprobación de otra manera para evitar tantas sentencias IF??
Saludos y gracias!!