JavaScriptでの文字数(桁数)やバイト数のチェック方法【現役SE解説】

PROGRAM

今回は、JavaScriptでの文字数(桁数)やバイト数のチェック方法について、それぞれの場合に分け、簡単に解説していきます。

文字数(桁数)をチェックする方法

JavaScriptで文字数(桁数)をチェックするには、Stringのlengthプロパティを使います。

チェック対象の値が数値型の場合には、StringメソッドでStringに変えてからチェックします。

var str = "あいうえお";
console.log(str.length); // 5

上記のコードでは、strという文字列型の変数の値の文字数(桁数)をStringのlengthプロパティを使って、ログに出力しています。

バイト数をチェックする方法

一方、バイト数をチェックするには、まずencodeURIメソッドでバイトごとに分けます。

そのバイトを任意の1文字に置き換えれば、lengthプロパティでバイト数を取得できます。

var str = "abcde";
console.log(encodeURI(str).replace(/%../g, "*").length); // 5

上記のコードでは、strという文字列型の変数の値をバイトごとに分けたうえで、そのバイト数をログに出力しています。

マルチバイト文字の場合

ASCII文字以外のマルチバイト文字の場合、文字数とバイト数は一致しません。

文字列は1~4バイトの可変長のため、文字数とバイト数とで最大4倍の差があります。

var str = "あいうえお";
console.log(str.length); // 5
console.log(encodeURI(str).replace(/%../g, "*").length); // 15

上記のコードでは、比較のため、”あいうえお”という文字列の文字数とバイト数をそれぞれログに出力しています。