Ciao, scusate come imposto una RegExp che deve prevedere un minimo di otto caratteri dei quali "uno" deve essere obbligatoriamente un numero ed un "altro" un carattere speciale (=,?,^,etc) ??? Grazie
Ciao, scusate come imposto una RegExp che deve prevedere un minimo di otto caratteri dei quali "uno" deve essere obbligatoriamente un numero ed un "altro" un carattere speciale (=,?,^,etc) ??? Grazie
Mica facile ...
poi dipende da come vuoi che sia l'ordine dei vari caratteri ..
Per una cosa flessibile, dovresti fare piu` di una RegExp:codice:suppongo la stringa nella variabile str var otto = str.match(/.{8,}/); var num = str.match(/.*\d.*/); var spec = str.match(/.*[\=\?\.].*/); if(otto && num && spec) { alert("stringa ok"); } else { alert("non mi piace"); }
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
Me ne sono reso conto; al momento ho scritto questa di RegExp:che consente di avere password del tipo:codice:var re = new RegExp("^UTE[A-Z]{2}-[0-9]{2}$", "");è funzionate, ma chissà quali problemi causerà...codice:UTEDW-12![]()
La tua RegExp non soddisfa i criteri dati nel primo post; o, meglio, e` un caso molto particolare di tali criteri.
Dovresti quindi chiarire prima a te stesso, quali criteri vuoi adottare.
Se la passwd la deve inserire l'utente, devi dare dei criteri e rispettarli.
Ma una soluzione del tipo della mia (con tutte le varianti del caso) e` da escludere? Perche`?
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
No Mich non la voglio escludere... è che non sono capace di farla funzionare, tutto qui...per questo ho "glissato" sulla mia RegExp...
La idea è che ogni utente si scelga la propria password, che non deve essere più lunga di otto caratteri e che dovrà avere al suo interno almeno un numero ed un carattere speciale...
E` chiaro che io ti ho proposto una sequenza di istruzioni, che vanno implementate nel tuo codice.
Non conoscendo il tuo codice non posso aiutarti a modificarlo.
Prova a postare il pezzetto di codice dove testi la tua regexp, e vediamo se qualcuno e` in grado di modificarlo per testare tre cose.
PS. Se devi invertire un test con AND ( && ) devi usare OR ( || )
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
OK; grazie ecco il test:codice:<script><!-- function validate(theform) { var re = new RegExp("^UTE[A-Z]{2}-[0-9]{2}$", ""); if (!theform.new_code1.value.match(re)) { alert("La password inserita non è corretta!\nLa nuova password è obbligatoria nella forma:\n\nUTEXX-YY\n\nin cui le variabili X sono lettere e le variabili Y sono numeri."); theform.new_code1.focus(); theform.new_code1.select(); return false; } return true; } // --> </script> <form name="form1" method="post" action="edit.asp" onSubmit="return validate(this)">
Prova cosi`; poi se e` troppo permissiva, si puo` modificarecodice:function validate(theform) { var str = theform.new_code1.value; var t1 = !str.match(/.{8,}/); var t2 = !str.match(/.*\d.*/); var t3 = !str.match(/.*[\=\?\.].*/); if(t1 || t2 || t3) { alert("La password inserita non è corretta! ..."); theform.new_code1.value = ""; // cancella campo theform.new_code1.focus(); //theform.new_code1.select(); // a che serve? return false; } return true; }
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
1000 grazie è quello che cercavo...![]()
Un favore puoi leggere questa discussione?
Sono forse stato troppo sintentico nell'esporre il problema?
http://forum.html.it/forum/showthrea...hreadid=887412
Ciao.