ho provato il tuo codice e sembra che il modo in cui fai i controlli faccia invertire il risultato booleano degli oggetti regular expression. Che roba strana... (per le tue variabili e/o oggetti è meglio se eviti di usare nomi riservati come "length")
Io ti consiglio di usare una funzione di supporto per controllare il formato di user e upassword1 visto che è lo stesso
da usare nella tua funzione di controllo cosìcodice:function ControllaFormato(str) { var re, msg=''; re = /[A-Z]/g; if (!re.test(str)) msg += 'inserire almeno una lettera maiuscola\n'; re = /[a-z]/g; if (!re.test(str)) msg += 'inserire almeno una lettera minuscola\n'; re = /^.{8,12}$/g; if (!re.test(str)) msg += 'la lunghezza deve essere tra 8 e 12 caratteri\n'; re = /^(\D*\d\D*){1,3}$/g; if (!re.test(str)) msg += 'inserire da 1 a 3 caratteri numerici\n'; return msg; }
codice://controllo user var msg=ControllaFormato(document.register_form.user.value); if (document.register_form.user.value == "") { alert("Username Mancante - Campo obbligatorio!"); return; } else if(msg!=""){ alert(msg); return; } //controllo la password msg=ControllaFormato(document.register_form.upassword1.value); if (document.register_form.upassword1.value == "") { alert("Password Mancante - Campo obbligatorio!"); return; } else if(msg!="") { alert(msg); return; }![]()

Rispondi quotando