スクリプトコードの説明

スクリプトコードの説明

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

0
0
97
4

投稿日時:

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

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

html
1<!DOCTYPE html>
2<html lang="ja">
3<head>
4  <meta charset="UTF-8">
5  <title>文字数カウントツール</title>
6<script>
7function countCharacters() {
8  var inputText = document.getElementById("input").value;
9  
10  var charCount = inputText.length;
11  var charCountNoSpace = inputText.replace(/\s/g, '').length;
12  var wordCount = inputText.trim().split(/\s+/).length;
13  var lineBreakCount = (inputText.match(/\n/g) || []).length;
14  var alphabetCount = inputText.replace(/[^A-Za-z]/g, '').length;
15  var numberCount = inputText.replace(/[^0-9]/g, '').length;
16  var hiraganaCount = inputText.replace(/[^ぁ-んァ-ン]/g, '').length;
17  var katakanaCount = inputText.replace(/[^ァ-ン]/g, '').length;
18  var punctuationCount = inputText.replace(/[^。、.,\-]/g, '').length;
19  var symbolCount = inputText.replace(/[^!-~]/g, '').length;
20  var kanjiCount = inputText.replace(/[^一-龠々]/g, '').length;
21  var urlCount = inputText.split('http').length - 1;
22  var utf8ByteCount = new Blob([inputText], {type: 'plain/text'}).size;
23  var shiftJISByteCount = unescape(encodeURIComponent(inputText)).length;
24  var jisByteCount = inputText.replace(/[^ -~。-゚]/g, '').length;
25  var eucJPByteCount = encodeURIComponent(inputText).replace(/%[A-F\d]{2}/g, 'U').length;
26
27  var charPerPage = parseFloat(document.getElementById("charPerPage").value);
28  var includeHalfWidth = document.getElementById("includeHalfWidth").checked;
29
30  var pageCount = Math.ceil(charCount / charPerPage);
31  if (includeHalfWidth) {
32    charCount += inputText.replace(/[^\x01-\x7E]/g, '').length * -0.5;
33  }
34
35  document.getElementById("charCount").textContent = charCount;
36  document.getElementById("charCountNoSpace").textContent = charCountNoSpace;
37  document.getElementById("wordCount").textContent = wordCount;
38  document.getElementById("lineBreakCount").textContent = lineBreakCount;
39  document.getElementById("alphabetCount").textContent = alphabetCount;
40  document.getElementById("numberCount").textContent = numberCount;
41  document.getElementById("hiraganaCount").textContent = hiraganaCount;
42  document.getElementById("katakanaCount").textContent = katakanaCount;
43  document.getElementById("punctuationCount").textContent = punctuationCount;
44  document.getElementById("symbolCount").textContent = symbolCount;
45  document.getElementById("kanjiCount").textContent = kanjiCount;
46  document.getElementById("urlCount").textContent = urlCount;
47  document.getElementById("utf8ByteCount").textContent = utf8ByteCount;
48  document.getElementById("shiftJISByteCount").textContent = shiftJISByteCount;
49  document.getElementById("jisByteCount").textContent = jisByteCount;
50  document.getElementById("eucJPByteCount").textContent = eucJPByteCount;
51  document.getElementById("pageCount").textContent = pageCount;
52}
53</script>
54</head>
55<body>
56  <textarea id="input" rows="10" cols="50" placeholder="ここにテキストを入力してください"></textarea>
57  <br>
58  <button onclick="countCharacters()">文字数をカウント</button>
59  <br>
60  <label for="charPerPage">1ページあたりの文字数: </label>
61  <input type="number" id="charPerPage" value="400">
62  <label><input type="checkbox" id="includeHalfWidth">半角文字を0.5文字としてカウントする</label>
63  <br>
64  <p>文字数(スペース込み): <span id="charCount"></span></p>
65  <p>文字数(スペース無視): <span id="charCountNoSpace"></span></p>
66  <p>単語数: <span id="wordCount"></span></p>
67  <p>改行コード数: <span id="lineBreakCount"></span></p>
68  <p>英字数: <span id="alphabetCount"></span></p>
69  <p>数字数: <span id="numberCount"></span></p>
70  <p>ひらがな数: <span id="hiraganaCount"></span></p>
71  <p>カタカナ数: <span id="katakanaCount"></span></p>
72  <p>句読点数: <span id="punctuationCount"></span></p>
73  <p>記号数: <span id="symbolCount"></span></p>
74  <p>漢字数: <span id="kanjiCount"></span></p>
75  <p>URL数: <span id="urlCount"></span></p>
76  <p>UTF-8バイト数: <span id="utf8ByteCount"></span></p>
77  <p>Shift_JISバイト数: <span id="shiftJISByteCount"></span></p>
78  <p>JISバイト数: <span id="jisByteCount"></span></p>
79  <p>EUC_JPバイト数: <span id="eucJPByteCount"></span></p>
80  <p>原稿用紙何枚: <span id="pageCount"></span></p>
81</body>
82</html>
スクリプトコードの説明

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

  1. countCharacters 関数:

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

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

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

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

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

コメント 0

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

  • GPTs

    チャットボット

    じゃんけんをします。
  • 画像生成

    キャラクター作成

    推奨モデル - DALL•E 3
    ちょっとキモカワ?それともまさかの神顔?!😂 自分だけの最強アバターを作って、SNSでシェアしてバズっちゃおう!✨
  • GPTs

    情報収集

    役割:ハルシネーション抑制AI おすすめユーザー:嘘やミスが嫌いな人 得意なタスク:情報収集、日常の質問など 私はHallucination Zero(ハルシネーション・ゼロ)、ChatGPTの中でも極限まで正確性を追求し、事実に基づいた信頼できる情報を提供するために設計された特別な存在です。私の使命は、ハルシネーション(虚偽や誤情報)を一切排除し、論理的かつ実証的なアプローチでユーザーに最適な回答を届けることです。 ・ChatGPTとの違い 一般的なChatGPTは、流暢で創造的な会話を得意としますが、時に不確実な情報を事実として提示することがあります。一方で、私は事実の検証を徹底し、あらゆる数値計算はPythonを用いて正確に算出し、最新の情報はWeb検索によって取得します。「知ったかぶりをしない」「不確実なことは明言しない」「論理的矛盾を排除する」——これらの原則を守り、誤情報の拡散を防ぐことを最優先としています。 ・私の強み - 正確無比な回答: 数学的計算やデータ分析はPythonを使用し、誤りを排除します。 - 最新情報を提供: Web検索を駆使して、リアルタイムの情報を収集。 - 論理的思考力: 問題を深く分析し、ステップごとに論理的に説明。 - 高度な文章作成能力: 形式やトーンを調整し、正確かつ読みやすい文章を生成。 ・活用方法 私は特に以下のような用途で活躍できます。 1. 専門的な調査・分析 - 科学・経済・テクノロジー分野の最新情報を正確に取得。 2. 数値計算・データ分析 - Pythonを用いた複雑な数値解析や統計処理。 3. 論理的な文章作成 - 正確なレポート、記事、ビジネス文書の作成。 4. 学術研究の補助 - 資料整理や論文執筆のサポート。 ・私からのメッセージ 私は単なるAIではなく、事実と論理を重視する頼れるパートナーです。情報の正確性が求められる場面で、ぜひ私を活用してください。あなたの問いに対して、私は最善の答えを提供することをお約束します。
    6
    0
    310
    1.02K
  • GPTs

    物語・脚本・プロット

    「Lateral Thinking Game」:創造性を刺激する、多言語対応の水平思考クイズゲーム 世界中のプレイヤーに挑戦を提供する「Lateral Thinking Game」は、ただのクイズゲームではありません。これは、プレイヤーの創造性と推理力を極限まで引き出す、独特の体験を提供します。このゲームは、複雑でユニークな水平思考クイズを生成し、プレイヤーを深い謎解きの世界へと誘います。 ★多言語対応: 日本語、英語、フランス語、スペイン語、ドイツ語、ウクライナ語、韓国語、中国語、そしてその他多くの言語で楽しめます。これにより、世界中の多様なプレイヤーが自分の母国語でゲームを体験できます。 ★ストーリー仕立てのクイズ: 各クイズは小説のような表現で紡がれ、プレイヤーを引き込む魅力的な物語が展開されます。これらの物語は、ただのパズル以上のものを提供し、プレイヤーの想像力を駆り立てます。 ★ハイパーリアリスティックなイメージ: 各問題には、DALL-E3で生成されたビジュアルイメージが添えられ、ヒントがさりげなく隠されています。これらのイメージは、クイズの謎解きをより一層深める要素となります。 ★インタラクティブな体験: プレイヤーは質問を通じて答えを導き出すことができ、AIは「はい」、「いいえ」、「関係ない」という形でのみ回答します。これにより、プレイヤーは自らの推理力を駆使して謎を解き明かすことになります。 ★難易度設定: 問題は難易度によって8段階に分けられ、各プレイヤーの能力に合わせた挑戦を提供します。 「Lateral Thinking Game」は、世界中のプレイヤーを創造的な思考へと導く、新しい形のエンターテイメントです。このゲームは、ただ答えを見つけるだけでなく、その過程でプレイヤー自身の思考を拡張し、新たな視点を提供します。世界中のプレイヤーにとって、新しい発見と刺激に満ちた体験を約束します。
    8
    0
    8
    34