Javascript 正则表达式在FF和IE中提供不同的输出

Javascript 正则表达式在FF和IE中提供不同的输出,javascript,regex,internet-explorer,cross-browser,Javascript,Regex,Internet Explorer,Cross Browser,我的问题是,当我使用此代码时: var queuediv = document.getElementById('MSO_ContentTable'); var total = get_text(queuediv); countTotal = total.split(/\s+/).length; 这就是函数 function get_text(el) { ret = ""; var length = el.childNodes.length; for (var i = 0

我的问题是,当我使用此代码时:

var queuediv = document.getElementById('MSO_ContentTable');
var total = get_text(queuediv);
countTotal = total.split(/\s+/).length;
这就是函数

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;
}
函数获取文本(el){
ret=“”;
var length=el.childNodes.length;
对于(变量i=0;i
它在IE中给了我不同的值,而其他浏览器给了相同的值。我的regexp有问题吗


谢谢。

您正在按空格字符(换行符、制表符…)进行拆分。不同浏览器的DOM表示形式似乎有所不同。我猜你是在试图分裂语言。尝试:

total.split(/ /).length;


您也可以替换
\v
\t

此正则表达式使用什么输入?var total=get_text(queuediv);这是函数get_text(el){ret=”“;var length=el.childNodes.length;for(var i=0;iget_text()你到底要做什么?从浏览器返回的HTML似乎有问题。它可能包含不同数量的换行符,这些换行符属于
\s
@VbPatel请使用JSFiddle发布代码。谢谢daniel你的代码总计。拆分(/)。长度;所有浏览器的输出都是一样的,但计数是错误的。他们在计数中添加了两个或更多的空格。是否有其他regexp plz建议我
total.replace(/\n\r\f/, '').split(/\s/).length