Javascript 獲取字符串字節(jié)數(shù)的多種方法
更新時間:2009年06月02日 18:01:08 作者:
Javascript 字符串字節(jié)數(shù)獲取功能多種方法
方法有很多,舉兩種:
第一種:(通過String對象的charCodeAt方法)
String.prototype.getBytesLength = function() {
var length = 0;
for(i = 0;i < this.length; i++) {
iCode = this.charCodeAt(i);
if((iCode >= 0 && iCode <= 255) || (iCode >= 0xff61 && iCode <= 0xff9f)) {
length += 1;
} else {
length += 2;
}
}
return length;
}
第二種:(通過escape()方法轉(zhuǎn)編碼后判斷)
String.prototype.getBytesLength = function() {
var str = escape(this);
for(var i = 0, length = 0;i < str.length; i++, length++) {
if(str.charAt(i) == "%") {
if(str.charAt(++i) == "u") {
i += 3;
length++;
}
i++;
}
}
return length;
}
第三種寫法:徹底無語了!
String.prototype.getBytesLength = function() {
return this.replace(/[^\x00-\xff]/gi, "--").length;
}
我喜歡第三種,以上代碼均測試通過
代碼簡單,不給出測試結(jié)果
px
第一種:(通過String對象的charCodeAt方法)
復(fù)制代碼 代碼如下:
String.prototype.getBytesLength = function() {
var length = 0;
for(i = 0;i < this.length; i++) {
iCode = this.charCodeAt(i);
if((iCode >= 0 && iCode <= 255) || (iCode >= 0xff61 && iCode <= 0xff9f)) {
length += 1;
} else {
length += 2;
}
}
return length;
}
第二種:(通過escape()方法轉(zhuǎn)編碼后判斷)
復(fù)制代碼 代碼如下:
String.prototype.getBytesLength = function() {
var str = escape(this);
for(var i = 0, length = 0;i < str.length; i++, length++) {
if(str.charAt(i) == "%") {
if(str.charAt(++i) == "u") {
i += 3;
length++;
}
i++;
}
}
return length;
}
第三種寫法:徹底無語了!
復(fù)制代碼 代碼如下:
String.prototype.getBytesLength = function() {
return this.replace(/[^\x00-\xff]/gi, "--").length;
}
我喜歡第三種,以上代碼均測試通過
代碼簡單,不給出測試結(jié)果
px
相關(guān)文章
深入解析ECMAScript?2023?中的新數(shù)組方法
ECMAScript?是一種標(biāo)準(zhǔn)化的腳本語言,它是?JavaScript?的規(guī)范。ECMAScript?2023?是?JavaScript?編程語言的更新,旨在帶來改進(jìn)并使?JavaScript?程序可預(yù)測和可維護(hù),這篇文章主要介紹了探索?ECMAScript?2023?中的新數(shù)組方法,需要的朋友可以參考下2023-12-12JavaScript實現(xiàn)控制并發(fā)請求數(shù)量的方法詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript如何實現(xiàn)控制并發(fā)請求數(shù)量,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02關(guān)于Google發(fā)布的JavaScript代碼規(guī)范你要知道哪些
代碼規(guī)范并不是一種編寫正確JavaScript代碼的規(guī)則,而是為了保持源代碼編寫模式一致的一種選擇。這篇文章給大家介紹了關(guān)于Google發(fā)布的JavaScript代碼規(guī)范你要知道哪些,感興趣的朋友一起看看吧2018-04-04