^(?=[\w\-%&?#=]+\d)(?=[\w\-%&?#=]+[a-zA-Z])[\w\-%&?#=]{8,12}$
该JavaScript代码用于新密码检查,以下是要求:
- 密码长度必须在8到20个字符之间,必须包含至少一个字母和数字
- 只能包含以下特殊字符中的一个:%,&,_,?,#,=,-
- 不能有任何空格
使用上述正则表达式,goog123#
可以在Firefox 3.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