使用javascript读取HTML文本中的字符数
假设我在我的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 =
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包装只是为了确保有一个元素包装所有代码。