仕事終わりを、ちょっと新しく。 AI活用の実践ガイド
PCツール · PRACTICAL GUIDE

AIで自分用PCツールを作る|ブラウザで動く文字数チェッカー

インストールやAPI接続なしで使える文章チェックツールを題材に、仕様の決め方・保存・検証を解説。動くHTMLサンプルも付けました。

しごと後のAI副業ノート · 公開/公式情報確認:
手順とサンプルの解説記事です。筆者の収益実績や製品の効果を示す実体験記事ではありません。

最初のツールは、入力と出力が一画面で見えるものに

SNS告知文や商品紹介文の長さを確認するために、ブラウザだけで動く文字数チェッカーを作ります。入力欄に文章を入れると、空白を含む文字数、空白を除いた文字数、行数を表示します。

サンプルは外部サービスやAI APIへ送信せず、ブラウザの中で計算します。入力内容を自動保存する機能もありません。再読み込みで入力は消えます。ブラウザ拡張機能など、ツール外部の動作までは制御しません。

文章チェックツールを保存 ↓

ブラウザでツールを開く →

1.作りたい機能を、小さな仕様にする

AIへ依頼するときは、作る機能だけでなく、何を数えるかを書きます。「文字数」はUnicodeの扱いで結果が変わるため、このサンプルではコードポイント数と定義します。SNSの投稿可能文字数を判定するツールではありません。

HTMLファイル一つで動く、日本語の文章チェックツールを作ってください。
入力:複数行の文章。
出力:Unicodeコードポイント数、空白を除くコードポイント数、行数。
空入力の行数は0。入力するたびに表示を更新する。
外部ライブラリ・外部通信・アクセス解析・自動保存を使わない。
スマートフォンでも入力しやすいラベル付きの入力欄を設ける。
絵文字の見た目の数やSNS固有の計算と異なる場合があると表示する。

ファイル名はtext-check.htmlです。AIのコードをテキストエディタへ貼り付け、拡張子が.html.txtになっていないことを確認します。保存したHTMLをブラウザで開くと使えます。

2.最小の動作部分を読む

const text = document.getElementById('text');
const result = document.getElementById('result');
text.addEventListener('input', () => {
  const value = text.value;
  const total = Array.from(value).length;
  const compact = Array.from(value.replace(/\s/g, '')).length;
  const lines = value ? value.split(/\r\n|\r|\n/).length : 0;
  result.textContent = total + '文字/空白除外 ' + compact + '文字/' + lines + '行';
});

JavaScriptの文字列イテレーターは、文字列をUnicodeコードポイント単位で扱います。一つに見える絵文字が複数のコードポイントでできている場合は、一文字と数えられないことがあります。

出力にはtextContentを使い、入力された文字をHTMLとして解釈させません。ダウンロード版には画面のHTMLとスタイル、外部通信を制限する設定も含めています。

3.完成の条件を手で確かめる

入力例期待する表示
空欄0文字・0行
あいう3文字・1行
A B3文字・空白除外2文字
A、改行、B3文字・2行(LF改行の場合)

サンプルの数え方は制作環境のJavaScriptで確認しています。独自ルールを足すなら、先に期待結果を書いてからAIへ頼みます。「140文字を超えたら色を変える」など、使い道に合わせて一機能ずつ追加すると見直しやすくなります。

このような小さなツールは自分の作業を補助する練習になります。配布や販売を考える場合は、対応環境、入力内容の扱い、問い合わせ先も説明できる形に整えましょう。

参照した公式資料

製品の仕様や利用条件は変更される場合があります。操作や導入の前に、公式ページも確認してください。記事内の作業例・指示文・サンプルは本サイトが作成しています。