js中没有自带的方法来获取字符串中包含双字节字符的长度的方法,
网上也有很多人使用正则去匹配双字节字符来实现,
但是有一个问题,就是无法真正的区分双字节字符和单字节字符;

这里就一下解决上面的问题
使用方法:chatCodeAt和toString()

十行代码解决问题

String.prototype.dbLength = function() {
var str = this,leg=str.length;
for (var i in str) {
if (str.hasOwnProperty(i)) {
var db = str[i].charCodeAt(0).toString(16).length == 4;
if (db) leg += 1;
//var double=['ヴ','ガ','ギ','グ','ゲ','ゴ','ザ','ジ','ズ','ゼ','ゾ','ダ','ヂ','ヅ','デ','ド','バ','ビ','ブ','ベ','ボ'];
//                    for(var j=0;j<double.length;j++){
//                        if(str[i]==double[j]){
//                            leg+=2;
//                        }
//                    }
}
}
return leg;
}

说十行就十行,多一行也不写

调用方法:

'2二'.dbLength();
//3//日语测试'的の'.dbLength();
//4

此方法,也解决了韩语,日语等双字节长度问题;

十行 js 获取带有双字节字符的字符串长度相关推荐

  1. php 匹配双字节字符串,收集一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)...

    正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番.我将一些常用的表达式收藏在这里,作备忘之用.本贴随时会更新,请持续关注本站. 匹配中文字符的正则表达式: ...

  2. 双字节字符c语言,双字节字符 是什么意思

    双字节字符就是占两个字节的字符. 在英语中,用128个单字节字符便可以表示所有,但是用来表示其他语言,128个符号是不够的. 比如,在 GB 2312 编码或 GBK 编码中,一个汉字字符存储需要2个 ...

  3. 关于双字节字符(16 byte)

    单字节指只占一个字,是英文字符.双字是占两个字节的,中文字符都占两个字节 单字节的英文是Byte:比特是最小的数值单位,它的英文是Bit.一个字节包含8个比特,通常计算机初学者接触到的ASCII码就是 ...

  4. Java-11-访问字符串中字符与字符串长度

    Java访问字符串中字符与字符串长度 String.charAt(index) String.length() package 字符串的盛宴;public class AccessesCharacte ...

  5. java js 截取字符串_java和Js 按字节来截取字符串长度(为了符合数据库varchar)

    /** * 截取符合oracle varchar长度的字符集 * * @author 陈兵 * */ public class SplitString { public static String s ...

  6. c/c++ 计算字符数组/字符串长度

    1.自定义函数求长度 2.使用strlen()函数 3.使用sizeof()操作符 4.使用length()函数 利用自定义函数的方法: int cont_str(char *s) {int i = ...

  7. 【Java-----字符串数组,访问字符串中字符与字符串长度】

    字符串数组 字符串数组也就是String类型的数组,数组中每个元素都是一个字符串,切勿把数组中的元素当成是一个字符. 访问字符串中字符 在c/c++中,在字符串中访问某个字符时,使用字符串名称[下标] ...

  8. js 获取最近几天的时间字符串

    function GetDateStr(AddDayCount) { var dd = new Date(); dd.setDate(dd.getDate()+AddDayCount);//获取Add ...

  9. js中以多个字符拆分字符串

    //var str = "字符串1,字符串2,字符串3";//var str = "字符串1,字符串2,字符串3";//var str = "字符串1 ...

最新文章

  1. vue 循环 递归组件_Vue一个案例引发的递归组件的使用
  2. 如何添加Samba用户
  3. android 仿京东toolbar,仿京东商城系列2------自定义toolbar
  4. 腾讯与Github的魔幻会面背后的故事…
  5. GCC + pthread
  6. linux var 空间不足,/var空间不足怎么办?(求安全保险的方法)
  7. Cyborg Genes UVA - 10723
  8. Linux 源码包软件安装操作与实战
  9. postfix+ldap
  10. 现代操作系统 第一章 引论 习题
  11. 暨南大学人文社科a类期刊_暨南大学A类期刊目录.pdf
  12. Android 最常用的设计模式八 安卓源码分析—工厂方法模式factory
  13. webpack如何将css文件单独抽离
  14. 网络对抗技术 实验三
  15. ftp常见报错之Use PORT or PASV first解决思路和方法
  16. 创建一个子进程,子进程向无名管道中写入数据,父进程打印输出。
  17. 二元一次在线计算机,(二元一次)方程组求解在线计算器_三贝计算网_23bei.com
  18. QT-QML制作登录界面
  19. 【Unity】U3D TD游戏制作实例(三)相机管理器、生成敌人优化、敌人血槽小组件
  20. 华熙LIVE·五棵松再添新地标,北京市新能源汽车旗舰体验中心正式落户!

热门文章

  1. c语言结构体张三丰,第五次视频我发到网易云课堂上了
  2. 阿里云服务器使用SMTP发送邮件
  3. Ant Design中的表格中key的处理
  4. 代码编程在线运行网站
  5. java毕业设计奥利给共享自习室系统(附源码、数据库)
  6. 10亿个数中找出最大的10000个数之top K问题
  7. sqlDbx连接oracle64位
  8. checkbox 在移动端显示为小圆圈问题
  9. 药品通用名和商品名称数据库下载
  10. 程序员翻车时的 30 种常见反应!