ソーシャル・マーケティング協会 代表理事 白鳥友康の公式ブログ。Facebook、Twitter、YouTube、LINEなど、ソーシャルメディアを活用、集客する方法を無料でお届け。

ソーシャル★マーケティングの教科書 改訂版

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万円で提供していた【ソーシャル・マーケティング認定コンサルタント養成講座】のエッセンスを凝縮した動画を無料プレゼントしています。

ダウンロードはこちら

  関連記事

no image
画像置換(text-indent)で出る点線を消したい

text-indent:-9999px; を使った画像置換はFirefox だとクリックした時に画面外へ点線が出てしまう。そんな…

no image
ウィンドウを2分割して表示するChromeのアドオン「Split Screen」

ホームページ制作をしていると、表示のチェックするために複数のブラウザウィンドウを開くので、デスクトップにウィンドウがたくさんあっ…

2015-12-09 02.12.13
WebデザイナーにおすすめのiPhoneアプリ21

こりゃ便利! 助かるなぁ。 WebデザイナーにおすすめのiPhoneアプリ21 | Webクリエイターボックス http://w&hellip;

no image
Googleが無料で撮影してくれる「おみせフォト」 申込みページがオープン

これはスゴイ! Googleがカメラマンを派遣して店内などを撮影してくれるサービスで、しかも無料!! 現在の対応地域は都市圏を中…

Zemanta Related Posts Thumbnail
XREAで独自ドメインを設定する方法

★XREAで独自ドメインを設定する方法 VALUE-DOMAIN で取得したドメインを、XREAに設定する方法です。 まだドメイ…

no image
画像置換(text-indent)で出る点線を消したい

text-indent:-9999px; を使った画像置換はFirefox だとクリックした時に画面外へ点線が出てしまう。そんな…

no image
Twitterからホットなキーワードを抽出する方法

こうゆうのって直接的に何かに役立つ! って感じではないけれど、 これを思い付くセンスが世の中を変えていくよね。 見た感じだと接続…

Zemanta Related Posts Thumbnail
一億円の価値がある輪ゴム

写真をご覧ください。はい。ただの輪ゴムです(笑) 一億円で売っている輪ゴムではなく、一億円の価値を生み出す輪ゴムです。 では、な…

no image
★ホームページを公開したら最初にやるべきこと24セミナー やります

「ホームページを公開したけれど、次に何をすれば良いか分からない」 というあなたに、ホームページを公開したら必ずするべきことを分か…

no image
Photoshop CS4のオンラインスクールをデジハリが無料で提供

我が卒業校でもあるデジハリが無料でPhotoshop講座を提供しているようです。 ○Photoshopを持っているけど、うまく使…