ciao , miu trovo di fronte ad un problema di logica.

io ho un form ed n tabelle (che vengono caricate tramite una scelta del cliente).
tutto cio in php

codice:
   $conta = $_POST ['conta_num_page'];
                echo "<form action=\"invio_form.php?id_user=$idus&contins=$conta\" method=\"post\" name=\"invio_form\" onSubmit=\"return controlli()\">";
                echo "<input type=\"hidden\" name=\"tipopage\" value=\"conta_bilita\">";
echo "<input type=\"hidden\" name=\"contatore\" value=\"$conta\">";
                for ($i = 1 ; $i <= $conta ; $i++) {
                        echo "<table>
			<tr>
			<td colspan=\"2\">tabella num $i per inserimento contabili</td>
			</tr>
			<tr>
			<td>numero</td>
			<td><input type=\"text\" name=\"numero[$i]\" value=\"\"></td>
			</tr>
ora vorrei inserire dei controlli sui campi tipo solo numerico , controllo mail etc... (qui sopra presente solo uno ma ce ne sono svariati).
ho un foglio esterno tutto js che una volta cliccato il submit si attiva.

Il problema è sul ciclo , ho provato a inserire un js del genere:
codice:
function controlli(count){
   var count = document.invio_form.contatore.value();
   for (var i = 0 ; i < count ; i++){
      var num = document.invio_form.numero[i].value;
      var espressionenum = new RegEx ("[espressione regolare]");
      if (num != ""){ 
          var test = num.search(espressione);
          if (test){
         alert ("inserire solo numeri");
         document.invio_form.contatore.focus();
         return false;
        }
     }else if (num == ""){
        alert ("inserire campo");
       document.invio_form.contatore.focus();
       return false;
     }
   }
}
il problema è che non vengono effettuati i controlli... i controlli dovrebero funzionare , visto che ho copiato/incollato da funzioni già esistenti e funzionanti , probabilmente è un errore sul ciclo o sul richiamare il valore del conteggio, ma non so come risolvero. grazie