正则表达式没有按预期工作

时间:2011-06-23 06:06:59

标签: javascript regex

  

可能重复:
  regular expression gives different output in FF and IE

我使用以下代码

function get_text(el) {
    ret = "";
    var length = el.childNodes.length;
    for (var i = 0; i < length; i++) {
        var node = el.childNodes[i];
        if (node.nodeType != 8) {
            ret += node.nodeType != 1 ? node.nodeValue : get_text(node);

        }
    }
    return ret;
}

var queuediv = document.getElementById('MSO_ContentTable');
var total = get_text(queuediv);
countTotal = total.split(/\s+/).length;
alert(countTotal);
div包含文字: -

You can get started       fdfd                       erfd            dsff

代码给我输出:-26 注意: - Chrome和Fx给出输出7但IE给出26.我认为问题在于正则表达式。这个正则表达式在IE中不起作用我认为

1 个答案:

答案 0 :(得分:1)

正则表达式实际上并不是标准化的,有些工具确实使用\ +代替+来量词的贪婪版本。您可以在IE中尝试并查看结果,然后使用条件代码使其在IE中运行(想象一下)。