Ai posteri...

codice:
    if (!theform.new_code1.value.match(/^[!#-&\(-~£§°ç]{8,12}$/) ||               // Da 8 a 12 caratteri tra tutti quelli consentiti
        !theform.new_code1.value.match(/[0-9]/) ||                                // Almeno una cifra in qualsiasi posizione
        !theform.new_code1.value.match(/[a-z]/i) ||                               // Almeno una lettera (minuscola/maiuscola) in qualsiasi posizione
        !theform.new_code1.value.match(/[!#-&\(-\/:-@\[-`\{-~£§°ç]/) ||           // Almeno un carattere speciale in qualsiasi posizione
         theform.new_code1.value.match(/[!#-&\(-\/:-@\[-`\{-~£§°ç]/g).length > 1) // Un solo carattere speciale in qualsiasi posizione
    {
      alert("KO.");
      theform.new_code1.focus();
      theform.new_code1.select();
 
      return(false);

}