<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<div id="myDiv">
床前明月光,疑是地上霜。举头望明月,低头思故乡。
</div>
<p id="wordCount"></p>
<script>
myDiv = document.getElementById('myDiv');
wordCount = myDiv.textContent.length;
display = '${wordCount}字';
getElementById('wordCount').textContent = display;
</script>
</body>
</html>
请大家看一下为何统计不出汉字数量呢
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注 【以下回答由 GPT 生成】
问题的关键在于JavaScript的
textContent
属性,它返回的是元素的文本内容,并不区分汉字和其他字符。因此,使用textContent.length
来统计汉字数量是不准确的。解决这个问题的解决方案是使用正则表达式来匹配汉字,并统计匹配到的数量。下面是具体的解决方案:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>无标题文档</title> </head> <body> <div id="myDiv"> 床前明月光,疑是地上霜。举头望明月,低头思故乡。 </div> <p id="wordCount"></p> <script> var myDiv = document.getElementById('myDiv'); var text = myDiv.textContent; // 获取<div>中的文本 // 使用正则表达式匹配汉字,将所有非汉字字符替换为空字符串 var chineseCharacters = text.replace(/[^\u4e00-\u9fa5]/g, ''); var wordCount = chineseCharacters.length; // 统计汉字数量 var display = wordCount + '字'; document.getElementById('wordCount').textContent = display; </script> </body> </html>
这段代码首先获取
<div>
元素中的文本内容,然后使用replace
方法结合正则表达式/[^\u4e00-\u9fa5]/g
将非汉字字符替换为空字符串。最后,统计替换后的内容的长度,即为汉字数量。这样,你就可以通过JavaScript统计汉字数量并将结果显示在页面上了。
【相关推荐】
- 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7514985
- 你也可以参考下这篇文章:统计一个字符串中出现最多的字符
- 您还可以看一下 孙玖祥老师的图解数据结构与算法课程中的 循环队列的入队出队扩容操作小节, 巩固相关知识点
- 除此之外, 这篇博客: 有哪些新手程序员不知道的小技巧?中的 确保你的设置与工具相互匹配 部分也许能够解决你的问题。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 python批量提取发票的信息
- ¥15 mysql安装,初始化数据库失败
- ¥15 虚幻五引擎内容如何上传至网盘?
- ¥15 使用mmpose库时出现了问题
- ¥15 IRI2016模型matlab运行报错
- ¥50 bat怎么设置电脑后台自动点击网页指定词运行脚本,输入指定网页链接,指定点击词,指定间隔时间,指定网页出现的词,指定网页出现词出现后后点击锁定,放在后台运行不影响前台鼠标工作
- ¥20 20CrMnMo的高温变形抗力
- ¥15 RTX3.6 5565驱动中断报错
- ¥50 带防重放token(Antireplay-Token)的网站怎么用Python发送请求
- ¥15 visa版本没问题,串口调试助手调试串口正常使用,但是labview刷新不出来