当前位置:首页 > 前端 > 正文内容

js统计字符串中汉字、数字、字母、符号个数

xuwenyan2年前 (2021-04-01)前端377

如何用js统计字符串中字符个数,所占字节数,包含的汉字个数、数字个数、字母个数、标点符号个数?

首先去掉一些不需要统计的符号

let text = document.getElementById('input').value;
// 去掉换行符
text = text.replace(/[\r\n]/g,""); 
// 如果不需要统计制表符
// text= text.replace(/[\t]/g,"");
// 如果不需要统计空格
// text= text.replace(/[ ]/g,"");

字符个数统计比较简单

let count = text.length;

统计所占字节数

function getByteCount(str) {
  var trim=function(strings){
    return (strings||"").replace(/^(\s|\u00A0)+|(\s|\u00A0)+$/g,"");//+表示匹配一次或多次,|表示或者,\s和\u00A0匹配空白字符,/^以……开头,$以……结尾,/g全局匹配,/i忽略大小写
  }

  let _str = trim(str);  //去除字符串的左右两边空格
  var strlength = _str.length;
  if(!strlength) {  //如果字符串长度为零,返回零
    return 0;
  }

  var chinese=_str.match(/[\u4e00-\u9fa5]/g); //匹配中文,match返回包含中文的数组
  return strlength+(chinese?chinese.length:0); //计算字符个数
}
let count = getByteCount(text);

统计汉字、数字、符号等个数

function getCount(str,reg) {
  let count = 0;
  if (str.match(reg) != null) {
    count = str.match(reg).length;
  }
  return count;
}

let reg = /[\u4e00-\u9fa5]/g; // 统计汉字
let reg = /\d/g; // 统计数字
let reg = /[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u300c|\u300d|\ufe43|\ufe44|\u3014|\u3015|\u2026|\u2014|\uff5e|\ufe4f|\uffe5]/g; // 统计标点符号
let reg = /[ ]/g; // 统计空格
let reg = /[\t]/g; // 统计制表符
let count = getCount(text,reg);
    文章作者:xuwenyan
    版权声明:本文为本站原创文章,转载请注明出处,非常感谢,如版权漏申明或您觉得任何有异议的地方欢迎与本站取得联系。

    扫描二维码推送至手机访问。

    版权声明:本文由艺文笔记发布,如需转载请注明出处。

    本文链接:https://www.xuwenyan.com/archives/1573

    分享给朋友:

    “js统计字符串中汉字、数字、字母、符号个数” 的相关文章

    分享几个 HTML5 非常惊艳的动画 demo

    分享几个 HTML5 非常惊艳的动画 demo

    在知乎上看到别人分享的几个动画demo,个人感觉非常炫酷,于是记录一下。可惜的是作者并没提供动画源代码,只能是观摩一下了!!!demo动画链接如下: FBI作战部署系统 3D粒子旋转 黑客数字雨 百家姓暗号解析 撕衣服 3D元素周期表 时钟特效...

    ipad在ios13修改了ipad浏览器的userAgent,导致设备类型判断错误。

    ipad在ios13修改了ipad浏览器的userAgent,导致设备类型判断错误。

    最近发现一个问题,想根据设备的类型来展示不同的主题风格,但根据网上的判断方法添加完代码之后,别的设备都正常,就是在ipad上面判断为了pc设备,让我相当郁闷。经过多出查询资料,最终总结如下: 这个问题是如何导致的? 我们一般是通过浏览器的userAgent来判断设备类型的,但是在ipa...

    JavaScript判断是移动设备还是pc设备, JavaScript判断浏览器类型。

    JavaScript判断是移动设备还是pc设备, JavaScript判断浏览器类型。

    JavaScript判断是移动设备还是pc设备 if (browser.versions.mobile) { var ua = navigator.userAgent.toLowerCase();//获取判断用的对象 if (ua.match(/Micro...

    javascript实现解析网页(html)

    javascript实现解析网页(html)

    javascript如何实现解析网页(html) demo代码如下: var parser = new DOMParser(); var html_dom = parser.parseFromString(html_content, 'text/html'); var els =...

    什么是跨域访问,如何实现跨域?

    什么是跨域访问,如何实现跨域?

    什么是跨域请求?在 HTML 中,<a>, <form>, <img>, <script>, <iframe>, <link> 等标签以及 Ajax 都可以指向一个资源地址,而所谓的跨域请求就是指:当前发起请求的域与该请求指向的...