codice:
<script type="Javascript1.3">
    <!--

      function checkData (f)
      {
        var e = 0;
        var m = "";
        var d = /^([1-zA-Z0-1@%#_$.\s]{4,30})$/;

        if (f.elements["pbws_city"].value == '-1') {
          m += "- Selezionare la città di appartenenza\n";
          e++;
        }

        if (f.elements["pbws_nazione"].value == '-1') {
          m += " - Selezionare la sua nazione\n";
          e++;
        }
		if (f.elements["pbws_nome"].value.match(d) == null) {
          m += " - Inserire il nome del personaggio\n";
          e++;
        }


        if (e) {
          alert ("Dati non validi:\n" + m + "\nCorreggi gli errori prima di procedere.");
          return false;
        } else {
          f.elements["submit"].disabled = true;
          return true;
        }

      }

    //-->
    </script>
e questo è il campo form

codice:
<form name="StepZero" method="post" action="/board/index.asp?" onSubmit='return checkData(this)'>

Nome del tuo personaggio : <input type='text' name='pbws_nome'>

Città di appartenenza :     <select name='pbws_city'>
          <option value='-1' selected>------------ 
          <option value='0'>Città1</option>
          <option value='1'>Città2</option>
          <option value='2'>Città3</option>
          <option value='3'>Città4</option></select> 

Nazione di appartenenza :   <select name='pbws_nazione'>
          <option value='-1' selected>------------ 
          <option value='0'>Italia</option>
          <option value='1'>Estero</option></select>

<input name="submit" type="submit" value="Secondo passaggio">  
</form>

Cosa non va ?

p.s. ho tralasciato alcuni campi hide xkè non credo diano problemi (si kiamavano doit e act).