星空网 > 软件开发 > Java

JS 实现计算一段文字中的字节数,字母数,数字数,行数,汉字数。

看到了匹配,第一个想到了用正则表达式,哈哈,果然很方便。不过正则表达式高深莫测!我还没有研究明白啊。。目前学了点皮毛。代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html new document </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="generator" content="editplus" /> <meta name="author" content="" /> <meta name="keywords" content="" /> <meta name="description" content="" /> </head> <body> <script language="javascript">  function countChar(){    //document.getElementById("counterzj").innerHTML= document.getElementById("status").value.length;  var nums = document.getElementById('status').value;  var zj=nums.replace(/[^\S]/g,"");   document.getElementById("counterzj").innerHTML= zj.length;  var sz = nums.replace(/[^0-9]/g,"");   document.getElementById('countersz').innerHTML = sz.length;    var hs = nums.replace(/[^\s]/g,"");   document.getElementById('counterhs').innerHTML = hs.length+1;     var zm = nums.replace(/[^a-z]/ig,"");   document.getElementById('counterzm').innerHTML = zm.length;    var hz=nums.replace(/[^\u4e00-\u9fff]/g,"")  document.getElementById('counterhz').innerHTML = hz.length;  }</script><button type='button' onclick="countChar()">开始生成题目</button><br>字节数:<span id="counterzj"></span><br>数字数:<span id="countersz"></span><br>字母数:<span id="counterzm"></span><br>行数:<span id="counterhs"></span><br>汉字数:<span id="counterhz"></span><br><textarea id="status"cols="50" rows="30"></textarea> </body></html>

代码解释:

1、var zj=nums.replace(/[^\S]/g,"");   获取nums中的所有非空白字符,replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。这样读取zi的长度就知道了字节的长度。

^符号用于匹配一行的开头。g用于全文查找出现的所有匹配字符。\S就是匹配所有非空白字符。

2、var sz = nums.replace(/[^0-9]/g,""); 其他同上,0-9用于匹配数字。

3、var hs = nums.replace(/[^\s]/g,""); 其他同1,\s用于匹配任意的空白符。

4、var zm = nums.replace(/[^a-z]/ig,""); 其他同1,a-z用于匹配所有a-z的字母,i表示不区分大小写。

5、var hz=nums.replace(/[^\u4e00-\u9fff]/g,"");其他同1,\u4e00-\u9fff用于表示所有汉字,u4e00到u9fff是汉字的Unicode码值范围。

最后将上述五项的长度输出就行。代码演示如下:

 


字节数:
数字数:
字母数:
行数:
汉字数:

代码目前肯定存在诸多的bug,还有不足之处,目前正在改善。并且在想方法匹配单词和注释。




原标题:JS 实现计算一段文字中的字节数,字母数,数字数,行数,汉字数。

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

卡卡聊跨境:https://www.goluckyvip.com/tag/35025.html
卡卡聊跨境独立站:https://www.goluckyvip.com/tag/35026.html
卡卡罗家居:https://www.goluckyvip.com/tag/35027.html
卡拉讲谷歌:https://www.goluckyvip.com/tag/35028.html
卡拉奇空运:https://www.goluckyvip.com/tag/35029.html
站内推广:https://www.goluckyvip.com/tag/3503.html
加拿大本地账户开立是否需要加拿大身份? :https://www.kjdsnews.com/a/1842166.html
加拿大本地账户开立是否需要加拿大身份? :https://www.xlkjsw.com/news/92266.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流