JavaScriptでマルチバイト文字列を決まった長さで省略する方法
投稿日時:
最終更新日時:2015/03/16 20:03
この記事は約 2 分で読めます。
大丈夫、あなたなら出来る!
ソーシャル・マーケティング協会 代表理事の白鳥友康です。
ブログの「続きを読む」みたいなことを、JavaScriptで実現する方法です。
デザインの都合でエリアに入力できる文字数が決まっていて
マルチバイトで○文字分みたいな切り出しをしたい場合があります。
でもマルチバイトとシングルバイトが混合している文字列の場合、
JavaScriptだと、これがなにげに難しかったりしますね。
そんなときはに役立つサンプルスクリプトです。
/**
文字列を省略する
@arg text 省略する文字列
@arg len 半角文字数で指定
@arg truncation 省略時の文字列
*/
function substr(text, len, truncation) {
var count = 0;
var str = '';
for (i=0; i
n = escape(text.charAt(i));
if (n.length < 4) count++; else count+=2;
if (count>len) {return str+truncation;}
str += text.charAt(i);
}
return text;
}
無料プレゼント
【Web担当者向け】SNS集客の全体像を55分で把握できる動画
受講料50万円で提供していた【ソーシャル・マーケティング認定コンサルタント養成講座】のエッセンスを凝縮した動画を無料プレゼントしています。
関連記事
-
-
Photoshop のびっくりショートカット
小ネタ。 こんなショートカット発見。使えるかもしれないし使えないかも 《移動》ツールを選択してガイドの上に。 その状態のまま《A…
-
-
本に出会う本屋
ボッサブックスhttp://www.bossabooks.jp/ メタファーを使ったインターフェイスは良くあるし、この手のものは…
-
-
画像置換(text-indent)で出る点線を消したい
text-indent:-9999px; を使った画像置換はFirefox だとクリックした時に画面外へ点線が出てしまう。そんな…
-
-
エントリーフォーム最適化(EFO)でお問い合わせの数を増やす。その1
ウェブサイトの改善では「入口」と「出口」を最適化することが最も重要です。「入口」の話は、SEOやら、PPCやら、いろいろあるので…
-
-
30秒ですっきり! 理系のためのオフィス系ストレッチ
パソコンを1日中使っている仕事柄ものすごーく肩がこります。 スポーツクラブに通ってはいてもそう頻繁には行けないので、 そんな時は…
-
-
同じ本を2冊買ってしまう悩みをお持ちの方にオススメです
私は本を読むの好きで、自宅には未読の本の棚があるのですが、困ったことが1つあります。 それは何冊も同じ本を買ってしまうこと 未読…
-
-
エントリーフォーム最適化(EFO)でお問い合わせの数を増やす。その3
エントリーフォーム最適化(EFO)のポイント、前回の続きです。 目次1 ★魅力的な文章で入力を促す2 ★「クリア」ボタンは必要な…
-
-
Yahoo! JAPAN、アドエクスチェンジ(広告枠取引)事業を開始
これはもしや、すごいことなのではないか?? 《広告を掲載したいサイトを指名買いできる》 ということだとしたら、今後の動向をちゃん…
-
-
jQueryを使ってサイトツアーを作る方法
これはいつか使いそう。 というか、必ず使いたい! jQueryを使ってサイトツアーを作る方法 – IDEA*IDEA…
-
-
日本語で学べるHTML5関連資料15個まとめ
英語が得意じゃない場合は、日本語の資料っていうのは、意外と大切ですよね。 日本語で学べるHTML5関連資料15個まとめ*二十歳街…
