^(?=[\w-%&?#=]+\d)(?=[\w-%&?#=]+[a-zA-Z])[\w-%&?#=]{8,12}$
Was meant to match the below conditions in a javascript based new-password check,
- Must contain minimum 8 to 20 characters, mandatorily including one letter and number
- May include only one of the following special characters: %,&, _, ?, #, =, -
- Cannot have any spaces
With above regex,
goog123# was matched in FF3.5
However this fails in IE6. Anyone knows what went wrong here ? Is this a compatibility issue?
javascript used to test the matching
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