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);
}