Javascript判断字符串的字节数

转载 2008年07月09日 09:38:00

在关系数据库中,字符型的字段是有严格的长度限制的,如果写入的字符串长度超过最大限制,会导致异常。虽然我们目前没有直接用到关系数据库,但是SAP中会遇到这个问题,因此需要根据字符串的长度在前端做一些控制和处理。

这里有一个问题,如果直接通过基础类String的length属性判断,得到的值是不准确的,因为这个值仅仅是字符数,而不是字节数,例如“高端OA事业部”,如果用length属性,得到的是7,但是这个字符串实际上是12字节长的。

如果仅仅判断一个字符串的长度是否超过了最大字节数的限制,可以通过如下脚本

str=str.replace(/[^/x00-/xff]/g,"**");

这样可以将所有的双字节字符都替换为单字节的标记,再用length属性就可以得出准确的字节数

如果需要根据最大字节数的限制,对已有的字符串进行截取,可以通过以下函数进行

/**

*功能:判断给定的字符串是否在指定的字节数内,如果超出指定的字节数,按参数指定的上限截*断

*参数说明:strVal 要判断的字符串 iMaxNum 允许的最大字节数

*返回值:重整之后的字符串,如果在允许字节数范围内,则原样返回,否则将返回按照最大上限截断后的字符串

*/

function interceptString(strVal,iMaxNum){

var cToken,iByteN=0; var strReturn=""; var reg = /[^/x00-/xff]/; //遍历并判断字符串中的每个字符是否是双字节的

for(var i=0;i       cToken = strVal.substr(i,1);        if (cToken.match(reg)){              iByteN += 2;              if(iByteN>iMaxNum){                     return strReturn;              }        }else{              iByteN += 1;        }        strReturn += cToken;        if (iByteN==iMaxNum){               return strReturn;        } }

}

JS计算字符串所占字节数

原文来自:http://www.alloyteam.com/2013/12/js-calculate-the-number-of-bytes-occupied-by-a-string/ 废话不说...
  • mergerly
  • mergerly
  • 2015年10月29日 16:48
  • 2273

js判断字符串的字节

JavaScript内部字符以 UTF-16 的格式储存。允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的 Unicode 码点。 码点在0x0000-0xFFFF,转化为十进制码点...
  • daiqu2018
  • daiqu2018
  • 2018年01月06日 01:28
  • 109

jquery 取字节数

$("#txtEbauthor").val().replace(/[^\u0000-\u00ff]/g,"aa").length//取字节数 1 byte = 1字节  = 8bit 可表达 2的八次...
  • ge_zhiqiang
  • ge_zhiqiang
  • 2011年07月19日 18:14
  • 4791

javascript判断字符串字节数

1.正则表达式判断: var str = 'string阿'; alert(str.replace(/[^x00-xFF]/g,'**').length); 2.for循环判断: var str...
  • u012897782
  • u012897782
  • 2015年04月08日 17:45
  • 72

js进行字符串的字节判断和截取

需求:         编写一个截取字符串的函数,输入为一个字符串和一个字节数,输出为按字节截取的字符串。 思路: 一、字节数判断 1、定义一个变量记录字符串字节数 ...
  • qq_35116202
  • qq_35116202
  • 2017年11月09日 11:39
  • 58

JS计算字符串的字节数

js 计算字符串的字节数 3种方法
  • tangdou5682
  • tangdou5682
  • 2016年12月06日 18:35
  • 397

判断字符串所占的字节数

//判断字符串所占的字节数 function GetCharLength(str) { var iLength = 0; //记录字符的字节数 for (var i = 0; i <...
  • fendou4533
  • fendou4533
  • 2014年05月09日 11:57
  • 848

JS计算字符串的字节数

直接代码 var lenFor = function(str){ var byteLen=0,len=str.length; if(str){ for(var i=0...
  • lelewenzibin
  • lelewenzibin
  • 2015年03月13日 14:33
  • 1258

JS计算字符串所占字节数

废话不说,直接正题吧。 最近项目有个需求要用js计算一串字符串写入到localStorage里所占的内存,众所周知的,js是使用Unicode编码的。而Unicode的实现有N种,其中用的最多的...
  • hellokatewj
  • hellokatewj
  • 2014年11月02日 00:36
  • 2039

JS获取字符串长度,汉字算两个字节

//第一种 GetLength = function(str) { var realLength = 0; for (var i = 0; i < str.length; i++) ...
  • pg_guo
  • pg_guo
  • 2013年01月30日 02:05
  • 13696
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Javascript判断字符串的字节数
举报原因:
原因补充:

(最多只允许输入30个字)