codice:<script type="text/javascript" language="javascript"> //un esempio usando un'unica RE (quella di Vindav) function PasswordValida(strPassword) { var re = /^(?=(.*\d){3,})(?=(.*[a-z]){4,})[a-z\d]{7,}$/i return re.test(strPassword); } //e una con 3 RE che dice cosa c'è che non va function ValiditaPassword(strPassword) { var msg = ''; //carattere diverso da lettere e numeri (lettere minuscole e maiuscole) var reNumeriLettere = /[^a-z\d]/i; //caratteri dalla a alla z in tutta la stringa (minuscole e/o maiuscole) var reLettere = /[a-z]/gi; //caratteri numerici in tutta la stringa var reNumeri = /\d/g; var numeroLettere = (strPassword.match(reLettere) ? strPassword.match(reLettere).length : 0); if (numeroLettere < 4) msg += '- bisogna inserire almento 4 caratteri alfaberici \n'; var numeroNumeri = (strPassword.match(reNumeri) ? strPassword.match(reNumeri).length : 0); if (numeroNumeri < 3) msg += '- bisogna inserire almento 3 caratteri numerici \n'; if (reNumeriLettere.test(strPassword)) msg += '- sono presenti caratteri non consentiti \n'; return msg } </script> <form> Password<input type="text" type="password" name="password" /> <input type="button" value="test semplice" onclick="document.getElementById('divMsg').innerHTML=(PasswordValida(this.form.password.value) ? 'valida' : 'non valida');" /> <input type="button" value="test con spiegazioni" onclick="msg=ValiditaPassword(this.form.password.value);document.getElementById('divMsg').innerHTML=(msg=='' ? 'valida' : msg);" /> <div id="divMsg"></div> </form>