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万円で提供していた【ソーシャル・マーケティング認定コンサルタント養成講座】のエッセンスを凝縮した動画を無料プレゼントしています。
関連記事
-
IE、Firefox、Chrome 3大ブラウザ対決
先日、Google Chrome 4 が公開されたお知らせをしましたが Google「Chrome 4」正式版リリース R…
-
★2000円でコンサルが受けられます
今日は《ホームページ更新 共同作業会》のお知らせです。 実はこの作業会、参加率が低くてビックリしています。 ホームページで商品を…
-
ホームページ作成用語集:HTTP(エイチティーティーピー)
HyperText Transfer Protocolの略。HTMLなどによって書かれたハイパーテキストを送受信するために使われ…
-
エントリーフォーム最適化(EFO)でお問い合わせの数を増やす。その3
エントリーフォーム最適化(EFO)のポイント、前回の続きです。 目次1 ★魅力的な文章で入力を促す2 ★「クリア」ボタンは必要な…
-
HTML5のcanvasでランキング描画 – まつぼっくりんご
こうゆうのは後々使うときありますね。canvasはアイディア次第でいろいろと。 HTML5のcanvasでランキング描画 …
-
ホームページ作成用語集:インターネット
世界中のコンピュータを繋いだネットワークのこと。 インターネットに接続することで、電子メールのやり取りやホームページを見ることが…
-
3大ブラウザのJavaScript実行速度について
昨日、各ブラウザの特徴を説明しましたが、 IE、Firefox、Chrome 3大ブラウザ対決 JavaScriptの実行速度に…
-
素人でも簡単にロゴが作成できる便利なサービス
何かのサービスを立ち上げるの時には、ロゴが必要になることが多いので、こういったサービスは嬉しいですね。ある程度のデザインセンスは…
-
HTML5で廃止予定の要素と属性
ブログなどを使って投稿すると、自動的に挿入されてしまうタグが多数ありますね。 現在でも推奨はされていないが、頻繁に使われているタ…
-
一億円の価値がある輪ゴム
写真をご覧ください。はい。ただの輪ゴムです(笑) 一億円で売っている輪ゴムではなく、一億円の価値を生み出す輪ゴムです。 では、な…