^(?=[\w\-%&?#=]+\d)(?=[\w\-%&?#=]+[a-zA-Z])[\w\-%&?#=]{8,12}$
Run Code Online (Sandbox Code Playgroud)
是为了在基于JavaScript的新密码检查中匹配以下条件,
使用上面的正则表达式,goog123#在FF3.5中匹配.但是这在IE6中失败了.谁知道这里出了什么问题?这是兼容性问题吗?
用于测试匹配的JavaScript
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
Run Code Online (Sandbox Code Playgroud) javascript regex compatibility cross-browser internet-explorer-6