Javascript Regex浏览器Inconsistancy?

时间:2009-10-10 02:08:59

标签: asp.net javascript regex sharepoint

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

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

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

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

IE7 =不匹配

WHY !!!!

1 个答案:

答案 0 :(得分:6)

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

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

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