Non so se sia "pulito" ...
codice:
<script>
var ammiss = new Array(1,2,3,4,5);
var max = 2;
function valida(arr) {
if (arr.length>max) return false;
rv = true; // valore di ritorno
nv = 0; // numero di valori passati ammissibili
for (var i=0; i<arr.length; i++) {
for (var j=0; j<ammiss.length; j++) { // verifico che sia un valore ammissibile
if (arr[i]==ammiss[j]) nv++;
}
for (var j=i+1; j<arr.length; j++) { // verifico doppioni
if (arr[i]==arr[j]) rv=false;
}
}
return (rv && (nv==arr.length));
}
alert("1"+" "+valida([1])); // ok
alert("1,2"+" "+valida([1,2])); // ok
alert("1,2,3"+" "+valida([1,2,3])); // no
alert("1,1"+" "+valida([1,1])); // no
alert("6,7"+" "+valida([6,7])); // no
alert("1,6"+" "+valida([1,6])); // no
</script>
ciao