Javascript Regex浏览器Inconsistancy?

ACB*_*urk 2 javascript regex asp.net sharepoint

我有一个正则表达式,我在asp.net RegularExpressionValidator中使用它来检查TextField.

^(?=.*[a-z])(?=.*\d)(?=.*[A-Z]).{8,}$
Run Code Online (Sandbox Code Playgroud)

我偶然发现的示例字符串是'RedCoal1'

Firefox =匹配的
IE8 =匹配的
Chrome =匹配

IE7 =不匹配

为什么!!!!

bob*_*nce 6

IE中使用的WSH RegExp的前瞻实现刚刚破解.在这种情况下,通常会弹出错误,尝试使用一个正则表达式同时验证多个内容.

此外,一些较旧的浏览器根本不支持预测(它不是原始的JavaScript规范,尽管它现在在ECMA-262-3中).总而言之,最好避免在浏览器RegExp中使用前瞻.

最好将每个检查(每个字符类和长度)分成手动验证步骤.