前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JS方法 - 字符串处理函数封装汇总 (更新中...)

JS方法 - 字符串处理函数封装汇总 (更新中...)

作者头像
xing.org1^
发布2018-11-08 10:39:18
2.2K0
发布2018-11-08 10:39:18
举报
文章被收录于专栏:前端说吧前端说吧

一、计算一段字符串的字节长度

字符串的charCodeAt()方法,

可返回字符串固定位置的字符的Unicode编码,这个返回值是0-65535之间的整数,如果值<=255时为英文,反之为中文。

而,中文的字节长度为2,英文的字节长度为1。

依照这个规律封装如下:

代码语言:javascript
复制
 1 function getStrBytes(str){
 2       str = str.toString();
 3       var strLen = 0;
 4       for (let s = 0; s < str.length; s++) {
 5         if(str.charCodeAt(s) >= 255){
 6           // 中文,字节为2.
 7           strLen += 2;
 8         }else{
 9           // 非中文,字节为1.
10           strLen += 1;
11         }
12       }
13       return strLen;
14     }

简化写法:(思路是,初始化时,默认就把字符串的长度等于字节长度。遇到中文的时候,字节长度+1)

代码语言:javascript
复制
 1 function getStrBytes(str){
 2       str = str.toString();
 3       var strLen, 
 4           count;
 5           strLen = count= str.length;
 6       for (let s = 0; s < strLen; s++) {
 7         if(str.charCodeAt(s) >= 255)
 8           count ++;
 9       }
10       return count;
11 }

调用方法:

代码语言:javascript
复制
getStrBytes("gjf32425");

二、计算输入文本框的字符个数

这个功能很常见,在评论区内一般会限制输入文字个数,

多用于textarea右下角的数字提示器功能,提示用户输入的文字个数。

利用上边计算出的字符串的字节,除以2取整就可以粗略当做用户的字符个数。

代码语言:javascript
复制
1 function getStrNum(str){
2    return Math.ceil(getStrBytes(str)/2);
3 }

调用:

代码语言:javascript
复制
getStrNum("继续努力加油!!耶!");
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-10-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、计算一段字符串的字节长度
  • 二、计算输入文本框的字符个数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档