Newsgroup: it.comp.lang.javascript
Titolo: controllo caratteri speciali

Ciao a tutti,
ho un form che controlla l'immissione e il cambiamento di una password e, se aderisce alle regole, e la manda ad un db.
Le regole prevedono che non sia possibile mettere caratteri speciali tipo & $ Ł, caratteri accentati e cosě via.
In pratica la password, per essere valida, deve essere composta da caratteri alfanumerici minuscoli o maiuscoli.
Ho pensato di fare un ciclo che cotrolla lettera per lettera (con string.match) la password e ritorna un valore tru al form che cos' puň postare allo script asp la nuova
password. Perň non funziona e non mi acceta niente. Sto brancolando nel buio da due giorni ormai per cercare di risolvere il problema, voi sapete aiutarmi?
BYe
Beho

 voi sapete aiutarmi?
Senza sapere quel che hai gia' fatto, ti consiglierei di fare una cosa del
genere:
function pwCheck(szPW){
	var re=/\W/gi
 
	if (re.test(szPW)){
		alert("La nuova pw contiene caratteri non consentiti.\nDigitare una nuova pw
con soli caratteri alfanumerici.")
		return false;
	}else{
		return true;
	}
}
Eventualmente riallinea le righe che saranno andate a capo postando il
codice nell'NG.
In pratica questa funzione ti restituisce true se la pw contiene caratteri
alfanumerici, e false se contiene anche altri caratteri, mandandoti un alert
sullo schermo. Il parametro e' ovviamente la pw.
Se hai domande o non ti e' chiaro qualcosa, fischia :)
--------------------------------
Inviato via 
http://usenet.libero.it

 Beho
forse se mandi anche un po' del tuo codice possiamo aiutarti. che ne
pensi??? :)
***************************************
messaggio inviato tramite HostSearch.it
---------------------------------------
---> 
http://www.hostsearch.it/newsgroup
***************************************

***************************************
Rispondo con questa mail anche a ZERO ringraziandolo per l'aiuto. grazie ai suggerimenti ho risolto l'arcano, comunque, tanto per discuterne, vi posto la parte di script
incriminata:
		y=0;
		for (I=0;I=(x.newpass.value.length-1);I++)
			{y=(y+1);
			variabile=x.newpass.value.substring(I,y);
			//seleziono la lettera alla posizione I,Y
			re=/[a-zA-Z0-9_]/
			tmp=variabile.match(re);
			if (tmp!=null)
			//verifico che ogni lettera sia valida, cioč il match con le variabili valide non dia esito null
				{alert ("cifra ok")
				}
			//se l'esito č null č stato usato un carattere non consentito quindi blocco il ciclo
			else
				{alert ("non puoi usare caratteri diversi da questi:\n da A a Z, da a a z, da 0 a 9 e _");
				x.newpass.value="";
				x.repeatnew.value="";
				x.newpass.focus();
				return false;
				break;
				}
			}
		{alert ("vuoi continuare?");
		return true;
		}
Questo script rientrava nell'arco di una serie di istruzioni per una funzione che doveva controllare vari campi di una form.
Grazie ancora 
Bye
Beho

 function pwCheck(szPW){
szPW č un simbolo come un altro, oppure vuoi dirci che le stringhe js siano
sz? Sarebbe una bella scoperta.
Maurizio.

 sz? Sarebbe una bella scoperta.
Lo uso io come convenzione e abitudine, scusa :) BTW, la gestione "interna"
delle stringhe in JS dipende dal browser che usi (nn per tutti e' la stessa)
ed e' cmq "wrappata" per l'utente finale.


ma perchč non gestisci keypress nel campo in modo che sia impossibile
metterci caratteri non alfanumerici?
IMHO di solito č meglio evitare che una cosa sgradita succeda invece di
validare tutto ogni volta...
Ciao
    Giorgio