在工作中或多或少会去判断字符串的长度是多少;但是字符串其中的内容可能不是我们确定的;他有可能是中文,也有可能是英文或者数字;那么我们怎么计算才能得到真实的字符串长度呢?

先给大家展示一串字符串:

注意:str目前有16个中文汉字;我们都知道一个中文表示两个字符,也就是该字符串有32个字符;

let str = '你认为的长度和我认为的长度一直嘛';
console.log(str.length); // 16

现在我将这个字符串增加123:

注意:现在我们看到的结果是19;如果我们在其*2的话;那就是38;但是这个字符串所占字符是35个;那他就多了3个;所以这种方式是不正确的(英文也是同理占一个字符)

let str = '你认为的长度和我认为的长度一直嘛123'
console.log(str.length); // 19

参考了网上很多方法只有一个最简单:

注意:方法那么多,干嘛不选一个最简单适用的呢?都是复制粘贴,要什么自行车;一下这串代码就是将中文替换为英文,然后进行计算长度;是不是贼简单方便

replace(/[\u0391-\uFFE5]/g,"aa").length

注意:实战中使用,我们可以看到现在我们的字符长度就是35了;方便

let str = '你认为的长度和我认为的长度一直嘛123'
console.log(str.length); // 19
console.log(str.toString().replace(/[\u0391-\uFFE5]/g,"aa").length); // 35

授人以鱼不如授人以渔,方法贴这儿了;自取呦!

JavaScript中如何正确的获取字符串长度相关推荐

  1. oracle中length-2,阳光沙滩-获取字符串长度,值是.length()2,什么原因?

    这不就对了么?你就是这样写的呀. //获取EditTest上的文本内容 mOldPassword = mOld_password.getText().toString().trim(); //输入mO ...

  2. Swift3.0语言教程获取字符串长度

    Swift3.0语言教程获取字符串长度 Swift3.0语言教程获取字符串长度,当在一个字符串中存在很多的字符时,如果想要计算字符串的长度时相当麻烦的一件事情,在NSString中可以使用length ...

  3. c语言中用于获取字符串长度的函数是,C语言中求字符串长度的函数的几种实现方法...

    C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) { ass ...

  4. C语言 读取字符串数组中的字符串并获取字符串的长度

    #include <stdio.h> #define LENGTH 128 #define NUMBER 5int main(void){int i;char s[NUMBER][LENG ...

  5. (转)Shell中获取字符串长度的七种方法

    Shell中获取字符串长度的七种方法 原文:http://blog.csdn.net/jerry_1126/article/details/51835119 求字符串操作在shell脚本中很常用,下面 ...

  6. golang中获取字符串长度的办法

    1.不同字符与获取字符串长度 获取字符串长度,是字符串操作的重要方法.理论来说,获取字符串长度,只要从头到尾查找一遍就可以了.但遗憾的是,不同字符具有不同的编码格式.拉丁字母一个字符只要一个字节就行, ...

  7. Shell中获取字符串长度的七种方法

    求字符串操作在shell脚本中很常用,下面归纳.汇总了求字符串的几种可能方法: [方法一]:利用${#str}来获取字符串的长度 [方法二]:利用awk的length方法 备注: 1) 最好用{}来放 ...

  8. Lua中获取字符串长度

    偶然的情况下,需要用Lua代码获取字符串的长度,结果发现结果和自己想象的不一样,一个汉字算两个英文字符的时代已经快过去了,一个中文字符打印出来的长度为3,引起了我的好奇,查找资料了解了具体原因 不同的 ...

  9. Lua中获取字符串长度整理

    在 Lua 中,获取字符串长度我们一般使用 #str(不建议使用 string.len(str) )! local str = "abc" local len = #str pri ...

最新文章

  1. 反射机制源码及原理学习
  2. 使用AheadLib生成DLL劫持代码
  3. .NET Core开发实战(第28课:工作单元模式(UnitOfWork):管理好你的事务)--学习笔记...
  4. .NET Core 在 K8S 上的开发实践--学习笔记
  5. 招商:笔试题(数组统计重复次数,面包累计问题)
  6. 技术研究院004---数据仓库系统的实现与使用(含OLAP重点讲解)
  7. Grafana 仪表盘和图形编辑器
  8. 电脑telnet失败的解决方法
  9. 计算机的奇迹英语作文,高中英语作文范文:奇迹
  10. 要点回顾|10 月 Pulsar 中文开发者与用户组会议
  11. linux下磁带备份
  12. 人工智能-数学基础-数据科学必备分布
  13. 十进制与二进制的转换
  14. 掌握这个方法,让工作经验配得上工作时间
  15. 如何打开Mysql数据库文件
  16. 数说亚洲杯小组赛:冷门四宗“最”知多少?
  17. 电磁波波长越短能量越强_在同一温度下波长越短的电磁波辐射强度越大
  18. 物联网平台独孤九剑(1)| 超强物联网架构解读
  19. 思科查看IP和MAC及交换机端口的命令
  20. nginx反向代理配置 1

热门文章

  1. Bat+JScritp解决ADSL+希网DDNS的地址更新
  2. linux 推荐分区方案
  3. Python爬虫之如何爬取抖音小姐姐的视频
  4. debian 开发版 移植_那些PC市场里取得成功的游戏,却在移植手游时吃瘪了
  5. {技术资料参数}低功耗LED数码管显示驱动;LCD低功耗/抗干扰液晶显示驱动;高灵敏度抗干扰,低功耗触摸芯片(IC)
  6. CFT:Multi-Camera Calibration Free BEV Representation for 3D Object Detection——论文笔记
  7. 2021-11-22
  8. 什么是 HUAWEI HiCar ?支持的车型有哪些?
  9. 怎样修改带密码的还原精灵
  10. php动态网站考试题,PHP动态网站设计与开发期末考试A卷