JavaScript 文字列の長さ(バイト数)を取得する
JavaScript
で文字列の長さを取得します。
length
str.legnth
で文字列の長さを取得できます。
var str = 'abcde';
console.log(str.legnth); // 5
var str2 = 'あいうえお';
console.log(str2.legnth); // 5
バイト数で取得
バイト数で計算したい場合は以下のようにします。
String.prototype.bytes = function () {
return(encodeURIComponent(this).replace(/%../g,"x").length);
}
var str = 'abcde';
console.log(str.bytes()); // 5
var str2 = 'あいうえお';
console.log(str2.bytes()); // 15
Shift_JISで半角1バイト全角2バイトで計算
Shift_JIS
で単純に半角1バイト全角2バイトで計算したい場合は以下のようにします。
String.prototype.bytes = function () {
var length = 0;
for (var i = 0; i < this.length; i++) {
var c = this.charCodeAt(i);
if ((c >= 0x0 && c < 0x81) || (c === 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) {
length += 1;
} else {
length += 2;
}
}
return length;
};
var str = 'abcde';
console.log(str.bytes()); // 5
var str2 = 'あいうえお';
console.log(str2.bytes()); // 1o