文字数カウンター付き textarea

UI コンポーネント Easy #js #form #textarea #counter

文字数カウンター付き textarea は、入力中の文字数と上限を リアルタイムに表示 する入力欄です。 textarea に maxlength="140" を付けて上限自体はブラウザに守らせつつ、JavaScript の input イベントで value.length を読み取り、現在数を画面に反映しています…

▶ プレビュー

解説

文字数カウンター付き textarea は、入力中の文字数と上限をリアルタイムに表示する入力欄です。textareamaxlength="140" を付けて上限自体はブラウザに守らせつつ、JavaScript の input イベントで value.length を読み取り、現在数を画面に反映しています。上限が近づくと is-near クラスを付けて数字の色を変えるため、ユーザーは「あとどれくらい書けるか」を意識しながら入力できます。

活躍する場面

  • 140 文字制限のレビューや感想フォーム
  • SNS 投稿のような短文入力欄
  • 自由記述に上限を設けたいお問い合わせ

上限を変えるときは maxlength の値と、表示に使っている /140 のテキストを揃えて書き換えます。色が変わり始める閾値も JavaScript 内の数値で調整できます。数字には font-variant-numeric:tabular-nums が指定され、桁が増えても横揺れしません。なお maxlength だけだとコピー貼り付けで超過しても切り詰められるため、カウンター表示があると安心感のある UX になります。

使用例・適したシーン

  • お問い合わせフォーム
  • ニュースレター登録
  • 資料請求フォーム
  • ログイン・新規登録

よくある質問

上限の文字数を変えるにはどこを直しますか?
textarea の maxlength 属性の値と、表示している「/140」のテキストの両方を新しい上限に書き換えてください。色が変わり始める閾値は JavaScript 内の比較数値で調整できます。
全角・半角で数え方は変わりますか?
このカウンターは value.length を使うため、全角・半角を問わず 1 文字を 1 とカウントします。絵文字など一部の文字は内部表現の都合で 2 と数えられる場合がありますが、通常の日本語入力では見たままの文字数になります。
追加日:2026-05-11
← すべてのスニペットへ戻る