最近项目上常常要用到计算字符串的长度的问题,有时须要按照byte进行计算长度,因此我就想在页面上用js实现,因而就到网上查了相关的资料,发现确实有不少的版本,这里给出两个比较好用的。测试
//方法一:逐个字符检查是否中文字符 String.prototype.getByteLen = function() { var len = 0; for (var i=0; i<this.length; i++) { if ((this.charCodeAt(i) & 0xff00) != 0) len ++; len ++; } return len; } //方法二:使用正则替换全部中文字符,而后再计算 getBLen = function(str) { if (str == null) return 0; if (typeof str != "string"){ str += ""; } return str.replace(/[^\x00-\xff]/g,"ab").length; }
用法我就不说了,相信你确定会用,呵呵,下面给出测试示例:this
spa
参考出处:.net
http://www.jb51.net/article/48202.htmprototype
http://www.jb51.net/article/90289.htmcode