十行 js 获取带有双字节字符的字符串长度
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 获取带有双字节字符的字符串长度相关推荐
- php 匹配双字节字符串,收集一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)...
正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番.我将一些常用的表达式收藏在这里,作备忘之用.本贴随时会更新,请持续关注本站. 匹配中文字符的正则表达式: ...
- 双字节字符c语言,双字节字符 是什么意思
双字节字符就是占两个字节的字符. 在英语中,用128个单字节字符便可以表示所有,但是用来表示其他语言,128个符号是不够的. 比如,在 GB 2312 编码或 GBK 编码中,一个汉字字符存储需要2个 ...
- 关于双字节字符(16 byte)
单字节指只占一个字,是英文字符.双字是占两个字节的,中文字符都占两个字节 单字节的英文是Byte:比特是最小的数值单位,它的英文是Bit.一个字节包含8个比特,通常计算机初学者接触到的ASCII码就是 ...
- Java-11-访问字符串中字符与字符串长度
Java访问字符串中字符与字符串长度 String.charAt(index) String.length() package 字符串的盛宴;public class AccessesCharacte ...
- java js 截取字符串_java和Js 按字节来截取字符串长度(为了符合数据库varchar)
/** * 截取符合oracle varchar长度的字符集 * * @author 陈兵 * */ public class SplitString { public static String s ...
- c/c++ 计算字符数组/字符串长度
1.自定义函数求长度 2.使用strlen()函数 3.使用sizeof()操作符 4.使用length()函数 利用自定义函数的方法: int cont_str(char *s) {int i = ...
- 【Java-----字符串数组,访问字符串中字符与字符串长度】
字符串数组 字符串数组也就是String类型的数组,数组中每个元素都是一个字符串,切勿把数组中的元素当成是一个字符. 访问字符串中字符 在c/c++中,在字符串中访问某个字符时,使用字符串名称[下标] ...
- js 获取最近几天的时间字符串
function GetDateStr(AddDayCount) { var dd = new Date(); dd.setDate(dd.getDate()+AddDayCount);//获取Add ...
- js中以多个字符拆分字符串
//var str = "字符串1,字符串2,字符串3";//var str = "字符串1,字符串2,字符串3";//var str = "字符串1 ...
最新文章
- vue 循环 递归组件_Vue一个案例引发的递归组件的使用
- 如何添加Samba用户
- android 仿京东toolbar,仿京东商城系列2------自定义toolbar
- 腾讯与Github的魔幻会面背后的故事…
- GCC + pthread
- linux var 空间不足,/var空间不足怎么办?(求安全保险的方法)
- Cyborg Genes UVA - 10723
- Linux 源码包软件安装操作与实战
- postfix+ldap
- 现代操作系统 第一章 引论 习题
- 暨南大学人文社科a类期刊_暨南大学A类期刊目录.pdf
- Android 最常用的设计模式八 安卓源码分析—工厂方法模式factory
- webpack如何将css文件单独抽离
- 网络对抗技术 实验三
- ftp常见报错之Use PORT or PASV first解决思路和方法
- 创建一个子进程,子进程向无名管道中写入数据,父进程打印输出。
- 二元一次在线计算机,(二元一次)方程组求解在线计算器_三贝计算网_23bei.com
- QT-QML制作登录界面
- 【Unity】U3D TD游戏制作实例(三)相机管理器、生成敌人优化、敌人血槽小组件
- 华熙LIVE·五棵松再添新地标,北京市新能源汽车旗舰体验中心正式落户!