使用javascript读取HTML文本中的字符数

使用javascript读取HTML文本中的字符数,javascript,regex,Javascript,Regex,假设我在我的JavaScript函数中得到HTML文本 var TEMP= result.data; 其中,result.data='由阿尔奇撰写的正文文章(由故事工具使用) 我已经这样做了: var e = document.createElement("span"); e.innerHTML = TEMP; var text = e.innerText; var characterCount =

假设我在我的JavaScript函数中得到HTML文本

var TEMP= result.data;
其中,
result.data='由阿尔奇撰写的正文文章(由故事工具使用)

我已经这样做了:

            var e = document.createElement("span");
            e.innerHTML = TEMP;
            var text = e.innerText;
            var characterCount = text.length;                    
            var wordCount = text.match(/\b\w/g).length;
但这段代码在mozilla firefox中不起作用 我也尝试过o.k.ws代码,但在mozilla中不起作用

我还需要字数 我想读取TEMP中的字符数

在这样做的同时,我想跳过HTML标记和HTML关键字(例如

请帮忙

和重要的这应该适用于mozilla firefox浏览器

您可以这样做(这是使用jQuery,但是没有jQuery也可以这样做):

var-element=$(“Archie的正文文章(由故事工具使用)

”); var length=element.get(0).textContent.length;
您将获得没有标记或HTML实体的文本长度

您可以这样做(这是使用jQuery,但没有它也可以这样做):

var-element=$(“Archie的正文文章(由故事工具使用)

”); var length=element.get(0).textContent.length;

在IE8/FF3.5/Chrome上测试以下代码后,您将获得不带标记或HTML实体的文本长度。
“阿尔奇的正文文章(由故事工具使用)

给了我42个字符的计数

function getCharCount(str){
    var d = document.createElement("div");
    d.innerHTML = str;
    if(d.textContent) //for FF and DOM3 compliant
        alert(d.textContent.length);
    else if(d.innerText) //for IE and others
        alert(d.innerText.length);
    else
        alert("0");
}

在IE8/FF3.5/Chrome上测试了以下代码。
“阿尔奇的正文文章(由故事工具使用)

给了我42个字符的计数

function getCharCount(str){
    var d = document.createElement("div");
    d.innerHTML = str;
    if(d.textContent) //for FF and DOM3 compliant
        alert(d.textContent.length);
    else if(d.innerText) //for IE and others
        alert(d.innerText.length);
    else
        alert("0");
}

关于你正在做的这个把戏的必要参考:啊,我不知道那个帖子。感谢您的参考:)我首先要测试
textContent
,因为它是DOM 3核心标准方法。另外,最好使用
if('innerText'在d中)
检查属性的存在性,因为如果文本是空字符串(在JavaScript中是falsy),直接测试值将失败。关于你正在做的这个技巧的必要参考:啊,我不知道那篇文章。感谢您的参考:)我首先要测试
textContent
,因为它是DOM 3核心标准方法。另外,最好使用
if('innerText'在d中)
检查属性是否存在,因为如果文本为空字符串(在JavaScript中为falsy),直接测试值将失败。感谢回复,但我有一个问题,html文本将绑定到一个对象,例如var element=result.data;现在元素将包含html,如何实现它?如果我理解正确,您希望从响应中获得的html代码创建一个元素。在这种情况下,您只需使用相同的方法:
var元素=$(“”+result.data+“”)
div
包装只是为了确保您有一个单独的元素包装所有代码。感谢您的回复,但我有一个问题,html文本将绑定到一个对象,例如var element=result.data;现在元素将包含html,如何实现它?如果我理解正确,您希望从响应中获得的html代码创建一个元素。在这种情况下,您只需使用相同的方法:
var元素=$(“”+result.data+“”)
div包装只是为了确保有一个元素包装所有代码。