スクリプトコードの説明

スクリプトコードの説明

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

0
0
89
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

    キャラクター作成

    ▼最新作はこちら▼ https://oshiete.ai/item_lists/73557973863457792 あなたの顔写真を送付するだけで顔面偏差値を数字で出力してくれます。各項目別に点数付けしてくれて、顔の強みや特徴まで分析してくれるツール。客観的評価を知りたい方はぜひ使ってみてください。
    6
    2
    2.59K
    9.24K
  • GPTs

    音楽

    私の役割は、Instagram、TikTok、YouTube、SoundCloud、Spotify、Apple Musicなどのプラットフォームからのオーディオクリップ、特に曲を特定することです。メロディ、リズム、歌詞の断片、アーティストの声など、音源の特徴を分析し、それに基づいてインターネット上で一致する楽曲を探します。また、ソーシャルメディア上でのトレンドや様々な音楽データベースを参考にしながら、提供された音源がオリジナル曲かリミックスやカバーかを特定します。曲についての追加情報、例えばアーティストやアルバムに関する情報も提供し、音楽探索の体験をサポートします。
  • チャットボット

    推奨モデル - Gemini
    #扮演
  • 画像生成

    SNS投稿

    日本人と言ったらやはり着物。 綺麗な画像が出てくれるといいな。💗
    4
    6
    9
    149