Sto cercando di fare un match di una stringa che potrebbe contenere caratteri come questi:
~!@#$%^*()_+=-`{}[]|\/:;',.?
Il problema è che usando il metodo match() quando gli passo alcuni di questi caratteri è come se il javascript andasse in blocco. In particolare parlo di caratteri come ? ( ) [ ]
Io faccio così:
var strCharAmmessi="~!@#$%^*()_+=-`{}[]|\/:;',.?ABCDEFGHILMNOPQRSTUVZJKWYabcdefghilmnopqrstu vzjkwy0123456789";
//controlla se i caratteri contenuti nella nuova password sono tra quelli ammessi
function ctrl_caratteri(pswCtrl){
//passa per ogni carattere della password e lo confronta con i caratteri ammessi
for(i=0;i<pswCtrl.length;i++){
//fa il confronto carattere per carattere
var risultato=strCharAmmessi.match(pswCtrl[i]);
alert(risultato);
//se uno dei caratteri della password risulta non presente nella stringa di controllo
//allora ritorna un false
if(risultato==null){
return false;
}
}
//si manifesta nel caso tutti i caratteri della password sono presenti nella stringa di controllo
return true;
}
Funziona tutto bene se i caratteri sono altri, tipo ! ^ # @ mentre con quelli che ho citato sopra non mi restituisce ne null ne niente. E' come se proprio quei caratteri non li digerisce.
Qualcuno ha un'idea?