^(?=[\w\-%&?#=]+\d)(?=[\w\-%&?#=]+[a-zA-Z])[\w\-%&?#=]{8,12}$
aveva lo scopo di soddisfare le condizioni di seguito in un controllo di nuovo la password basato su JavaScript,JavaScript RegExp in IE
- deve contenere almeno 8 a 20 caratteri, obbligatoriamente tra cui una lettera e il numero
- può includere solo uno dei seguenti caratteri speciali:?%, &, _,, #, =, -
- non può contenere spazi
Con la regex precedente, goog123#
corrisponde a FF3.5. Tuttavia questo non funziona in IE6. Qualcuno sa cosa è andato storto qui? È un problema di compatibilità?
JavaScript utilizzato per testare la corrispondenza
function fnIsPassword(strInput)
{
alert("strInput : " + strInput);
var regExp =/^(?=.{0,19}\d)(?=.{0,19}[a-zA-Z])[\w%&?#=-]{8,20}$/;
if(strInput.length > 0){
return (regExp.test(strInput));
}
return false;
}
alert(fnIsPassword("1231231")); //false
alert(fnIsPassword("sdfa4gggggg")); //FF: true, false in IE
alert(fnIsPassword("goog1234#")); //FF: true , false in IE
Se qualcosa non funziona su IE6, non c'è niente di sbagliato. –
@Rubens Molto probabilmente l'affermazione più divertente e accurata che ho sentito da molto tempo – Chris