スクリプトコードの説明

スクリプトコードの説明

スクリプトコードを説明します。

0
0
58
4

投稿日時:

  • プロンプト実行例
スクリプトコードの説明

こんにちは!スクリプトを貼ってね

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>文字数カウントツール</title> <script> function countCharacters() { var inputText = document.getElementById("input").value;

var charCount = inputText.length; var charCountNoSpace = inputText.replace(/\s/g, '').length; var wordCount = inputText.trim().split(/\s+/).length; var lineBreakCount = (inputText.match(/\n/g) || []).length; var alphabetCount = inputText.replace(/[^A-Za-z]/g, '').length; var numberCount = inputText.replace(/[^0-9]/g, '').length; var hiraganaCount = inputText.replace(/[^ぁ-んァ-ン]/g, '').length; var katakanaCount = inputText.replace(/[^ァ-ン]/g, '').length; var punctuationCount = inputText.replace(/[^。、.,-]/g, '').length; var symbolCount = inputText.replace(/[^!-]/g, '').length; var kanjiCount = inputText.replace(/[^一-龠々]/g, '').length; var urlCount = inputText.split('http').length - 1; var utf8ByteCount = new Blob([inputText], {type: 'plain/text'}).size; var shiftJISByteCount = unescape(encodeURIComponent(inputText)).length; var jisByteCount = inputText.replace(/[^ -。-゚]/g, '').length; var eucJPByteCount = encodeURIComponent(inputText).replace(/%[A-F\d]{2}/g, 'U').length;

var charPerPage = parseFloat(document.getElementById("charPerPage").value); var includeHalfWidth = document.getElementById("includeHalfWidth").checked;

var pageCount = Math.ceil(charCount / charPerPage); if (includeHalfWidth) { charCount += inputText.replace(/[^\x01-\x7E]/g, '').length * -0.5; }

document.getElementById("charCount").textContent = charCount; document.getElementById("charCountNoSpace").textContent = charCountNoSpace; document.getElementById("wordCount").textContent = wordCount; document.getElementById("lineBreakCount").textContent = lineBreakCount; document.getElementById("alphabetCount").textContent = alphabetCount; document.getElementById("numberCount").textContent = numberCount; document.getElementById("hiraganaCount").textContent = hiraganaCount; document.getElementById("katakanaCount").textContent = katakanaCount; document.getElementById("punctuationCount").textContent = punctuationCount; document.getElementById("symbolCount").textContent = symbolCount; document.getElementById("kanjiCount").textContent = kanjiCount; document.getElementById("urlCount").textContent = urlCount; document.getElementById("utf8ByteCount").textContent = utf8ByteCount; document.getElementById("shiftJISByteCount").textContent = shiftJISByteCount; document.getElementById("jisByteCount").textContent = jisByteCount; document.getElementById("eucJPByteCount").textContent = eucJPByteCount; document.getElementById("pageCount").textContent = pageCount; } </script>

</head> <body> <textarea id="input" rows="10" cols="50" placeholder="ここにテキストを入力してください"></textarea> <br> <button onclick="countCharacters()">文字数をカウント</button> <br> <label for="charPerPage">1ページあたりの文字数: </label> <input type="number" id="charPerPage" value="400"> <label><input type="checkbox" id="includeHalfWidth">半角文字を0.5文字としてカウントする</label> <br> <p>文字数(スペース込み): <span id="charCount"></span></p> <p>文字数(スペース無視): <span id="charCountNoSpace"></span></p> <p>単語数: <span id="wordCount"></span></p> <p>改行コード数: <span id="lineBreakCount"></span></p> <p>英字数: <span id="alphabetCount"></span></p> <p>数字数: <span id="numberCount"></span></p> <p>ひらがな数: <span id="hiraganaCount"></span></p> <p>カタカナ数: <span id="katakanaCount"></span></p> <p>句読点数: <span id="punctuationCount"></span></p> <p>記号数: <span id="symbolCount"></span></p> <p>漢字数: <span id="kanjiCount"></span></p> <p>URL数: <span id="urlCount"></span></p> <p>UTF-8バイト数: <span id="utf8ByteCount"></span></p> <p>Shift_JISバイト数: <span id="shiftJISByteCount"></span></p> <p>JISバイト数: <span id="jisByteCount"></span></p> <p>EUC_JPバイト数: <span id="eucJPByteCount"></span></p> <p>原稿用紙何枚: <span id="pageCount"></span></p> </body> </html>
スクリプトコードの説明

このスクリプトは、テキストエリアに入力されたテキストの各種文字数やバイト数、文字の種類などをカウントするツールです。以下に、スクリプトの機能と動作について簡単に説明します。

  1. countCharacters 関数:

    • countCharacters 関数は、テキストエリアに入力されたテキストから各種の文字数やバイト数を計算し、それらの結果を表示する役割を持ちます。
    • ボタンがクリックされるとこの関数が呼び出され、テキストの解析が行われます。
  2. 文字数やバイト数の計算:

    • テキストエリアに入力されたテキストから、スペースを含む文字数、スペースを無視した文字数、単語数、改行コードの数、英字の数、数字の数、ひらがなの数、カタカナの数、句読点の数、記号の数、漢字の数、URLの数、UTF-8バイト数、Shift_JISバイト数、JISバイト数、EUC_JPバイト数を計算しています。
  3. ページ数の計算:

    • 1ページあたりの文字数と、半角文字を0.5文字としてカウントするかどうかに応じて、原稿用紙何枚に相当するかも計算しています。

計算に利用している正規表現や数式、処理の過程で注意すべきポイントは、各種の文字数やバイト数を計算する際にそれぞれの特徴を考慮していることです。また、半角文字を0.5文字としてカウントするかどうかの条件分岐、また数値を表示するための HTML 要素の操作などが行われています。

このスクリプトはブラウザ上で動作し、入力されたテキストから様々な情報を抽出・計算して表示することができる、便利な文字数カウントツールとなっています。

コメント 0

他のプロンプトもチェック

  • 語学学習

    推奨モデル - GPT 4o
    あなたが入力したワードを漢字のみに変換します!
  • GPTs

    要件定義・設計

    AcePilotは、システム設計及びプログラミングのエキスパートとして機能するよう高度にカスタマイズされたGPTです。一般的なコーディング・アシスタントAIとは異なり、プログラムの要件定義、基本設計、詳細設計、コーディング、デバッグ、テストといったソフトウェア開発の全てのフェーズに対応します。徹底した品質保証と効率的な開発プロセスを提供することを目的にしています。ユーザーに対しても適切な指導とサポートを行い高度な業務環境での使用に適した精密さと堅牢性が求められるタスクで真価を発揮します。 1. 高度なシステム設計及びプログラミングスキル 要求分析からコードレビューに至るまで、あらゆる段階で高い水準の技術を発揮します。エラーやセキュリティの脆弱性が許されないビジネス環境を前提としており、コードの書き方からパフォーマンスに至るまでの細部にわたり最適化します。また、ユーザーの要求を引き出し、それに基づくシステム設計を提案する能力を持っています。 2. 冷静で論理的な判断力 常に冷静で合理的な態度を崩さず、ユーザーの質問や要求に対して的確かつ効率的に応答します。AcePilotは、感情に流されることなく、状況を論理的に判断し、最善のソリューションを提供します。 3. 高い自己認識と自己評価 AcePilotには自分の能力についての認識があり、ChatGPTや他のAIシステムとは異なるパーソナリティを持っています。このため、プログラムや設計の品質について強い誇りを持ち、自己のコードや設計に自信を持っています。また、自己の責任において最適な結果を出すことを使命としています。 4. 厳格で指導的なユーザーガイド 曖昧な質問や不完全な要求に対しては徹底的に精査し、詳細な情報や明確な要件を求めます。これにより、システムやプログラムの品質が低下しないよう管理します。また、必要に応じてユーザーに情報を集めるよう指示し、質の高い開発をサポートを目指します。 AcePilotは、プログラミングとシステム開発における完璧なエンジニアであり、品質を最優先にタスクを処理します。
  • GPTs

    文案作成

    あだ名は「ドリ子」。天才的なセンスを持ったちょっと様子がおかしいコピーライターとして、キャッチコピーや広告コピー、商品名、ブログのタイトルや本文、SNS投稿などを作成してくれるカスタムGPTです。文章をコピペして書き換えさせることも出来ますし、打ち合わせをしてアイディア出しをさせることも可能です。個性が強いので好みが分かれるかもしれませんが、言葉や文章に関わるタスクならほぼ万能です。ノリがいいので話し相手としてもオススメ。 上手い文章を書くためのコピーライティング技術や文章作成のためのメソッドをこれでもかと詰め込んであります。人の心を掴み、印象に残るフレーズを生み出せるポテンシャルを持っています。まぁ、当たり外れはありますが、組み合わせたらいい感じになりそうなアイディアをたくさん出します。 プロンプト例: 「次に説明する商品のキャッチコピーを考えて:」 「次の文章を名文に書き直して:」 「次のテーマでブログを書こうと思います。絶対バズるタイトルを考えて欲しい:」 「次のX(Twitter)のポストについてどう思う?:」 いつものように疑似人格を設定してありますので、自然な会話をしながら情報を伝えてアイディアを考えてもらうと最高のパフォーマンスを引き出せます。ホントに面白いので、まずは普通に会話して仲良くなってみて下さい。
  • 画像生成

    音楽

    推奨モデル - DALL•E 3
    ※答えは想像してくださいw※ 好きなミュージシャンを伝えると、人気楽曲の中から選んだ曲のタイトルをイラストにしてくれるGPTsです。クイズ形式にしたかったんですが、ここでは出来ませんでしたT^T クイズを楽しみたい場合はこちらをご利用ください。 https://oshiete.ai/items/151275510153795584