小编may*_*ays的帖子

正则表达式(?<= x)是什么意思?

(?<=x)正则表达式意味着什么?

顺便说一下,我在这里阅读了手册.

regex

8
推荐指数
1
解决办法
1209
查看次数

IE中的JavaScript RegExp兼容性

^(?=[\w\-%&?#=]+\d)(?=[\w\-%&?#=]+[a-zA-Z])[\w\-%&?#=]{8,12}$
Run Code Online (Sandbox Code Playgroud)

是为了在基于JavaScript的新密码检查中匹配以下条件,

  • 必须包含最少8到20个字符,强制性地包括一个字母和数字
  • 可能只包含以下特殊字符之一:%,&,_,?,#,=, -
  • 不能有任何空格

使用上面的正则表达式,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

5
推荐指数
1
解决办法
7426
查看次数