Javascript Dom元素的字符计数

Javascript Dom元素的字符计数,javascript,jquery,Javascript,Jquery,我的函数中可以有这样的字符串参数 "Hello World <a>This is Link</a>" "<span> Hello World </span><a>This is Link</a>" "Hello <br> World <a>This is Link</a>" “你好,世界,这里是链接” “你好,世界,我是林克” “你好世界这里是链接” 我想通过不包括dom元素标记来获得

我的函数中可以有这样的字符串参数

"Hello World <a>This is Link</a>"
"<span> Hello World </span><a>This is Link</a>"
"Hello <br> World <a>This is Link</a>"
“你好,世界,这里是链接”
“你好,世界,我是林克”
“你好
世界这里是链接”
我想通过不包括dom元素标记来获得文本的字符数。(
类似或
)我只想要字符数

有什么建议吗?

就是这样

mstring=“你好
这是链接”; cleanText=mstring.replace(/]+(>|$)/g,“”; console.log(cleanText.length)使用
/]*>/g
查找所有标记。请尝试以下方法(不计算空间):

var str1=“你好,这里是Link”;
var str2=“你好,这里是Link”;
var str3=“你好
这是链接”; 函数getCharLen(str){ str=str.replace(/]*>/g,“”).split(“”).filter(i=>i!=“”); 返回str.length; } console.log(getCharLen(str1)); console.log(getCharLen(str2)); console.log(getCharLen(str3))尝试使用正则表达式:
/()/ig

  • 用于全局和不区分大小写的修饰符
    ig
您将获得所有的开始和结束标记。只需使用replace将它们设为空,并计算字符串其余部分的长度

函数计数(str){
var regex=/()/ig;
返回str.replace(regex.)。长度;
}
/*试验*/
var a=“你好,这里是Link”;
var b=“你好,这里是Link”;
var c=“你好
这是链接”; 控制台日志(计数(a)); 控制台日志(计数(b)); 控制台日志(计数(c))基于Regexp的解决方案:

函数删除HTMLTAGS(htmlString){
返回htmlString
.替换(/(]*>)?/g,“”)
.替换(/(]*>)?/g“”;

}
将字符串放入节点并获取
textcont
属性的长度

(函数(){
var节点=document.createElement('pre');
window.getCharCount=函数(html){
node.innerHTML=html;
返回node.textContent.length;
//返回node.textContent.trim().length;//如果要忽略开头和结尾的空格
};
}());
log(getCharCount('helloworld,这里是Link');
log(getCharCount('helloworld This is Link');

log(getCharCount('Hello
World This is Link')
创建一个临时元素,添加一个字符串作为
innerHTML
,并计算
textContent
中的字符数。