■プログラム説明(ソースコード説明)
変数strにはsampleの文字列が入っています。lengthを使うと、この文字列の長さである6を得ることができます。日本語の場合にもlengthで正しく1文字=1として処理されます。なお、サロゲートペアとなっている日本語文字は1文字ではなく2文字としてカウントされます。これはサロゲートペアの文字の問題で、これらの文字が含まれると正しい文字数を求めることはできません。正しい文字数を求める場合はJavaScriptとサロゲートペアの文字をキーにしてWebで検索してください。対処方法が見つかるかもしれません。
■ソースコード
str = "sample";
n = str.length;
alert(n);
str = "こんにちは";
n = str.length;
alert(n);
■ポイント
文字列でなく数値の場合には以下のようにtoString()を使います。変数に入っている内容が文字列でない可能性がある場合にはtoString()で文字列にしておく方が安全です。
str = 12.34;
n = str.toString().length;
以下のように正規表現を使うと、特定の文字の個数を調べることができます。
str = "なま麦なま米なま卵";
n = str.match(/なま/g).length;
alert(n);
■実際のスクリプトをダウンロード(sample.jsx.zip)