javascript - RegExp.exec() 在 Firefox 中重复调用时返回 null?

标签 javascript regex firefox

我在 Firefox 10 和 11 中使用正则表达式函数 exec() 时遇到了问题。

该函数在被多次调用时似乎表现不稳定。在正确的结果中,返回null的也不少。在 Safari 5.1.3、Chrome 18 和上述 Firefox 版本中,我只能在 Firefox 中看到该问题。

我创建了一个 JSFiddle 来演示这个问题:http://jsfiddle.net/KSH3S/ , 来源:

var i, x = "";

for (i = 0; i < 10000; i++) {
    var matches = /foo/g.exec('sdkfjfooasdknal');
    x += matches + "<br>";
}

$('body').html(x);

在我的两个 Firefox 版本中,它返回 40x foo、1x null、41x foo,然后它在这两个之间交换在每一次通话中。

你遇到过这种情况吗?

最佳答案

正如 jfriend00 所说,这是 Firefox 中 JS 引擎中的一个错误。应该在 Firefox 12 中修复。参见 https://bugzilla.mozilla.org/show_bug.cgi?id=728021

关于javascript - RegExp.exec() 在 Firefox 中重复调用时返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10167323/

相关文章:

javascript - 我怎样才能在第一次点击时给 div 一个 settimeout 而不是在第二次点击时?

javascript - 处理ajax调用后的php错误

javascript - 使用以@pin.edu.sh 结尾的正则表达式验证电子邮件

css - Firefox 条件注释 CSS

javascript - 如何在 AJAX 调用中捕获 sec_error_unknown_issuer 错误?

javascript - 首次加载时,Slick Slider Items 不可见

javascript - JavaScript 方法中的 "Uncaught TypeError: Illegal Invocation"

Javascript - 匹配一个长 5 位数字的正则表达式

javascript - 检查文件扩展名是否与文档类型文件相关,例如 ".txt, .doc, .pdf, .psd, etc."

javascript - 如何禁用 _moz_resizing?