テキスト検索アプリ
テキスト文字列:
検索する文字列:
検出した文字列の個数:
プリセット登録:
登録したプリセット
プリセット名 | 操作 |
---|
以下が要望に基づく実装例です。JavaScriptのevalや他サイトへの遷移、リダイレクトは含んでいません。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>テキスト検索アプリ</title> </head> <body> <h1>テキスト検索アプリ</h1> <p>テキスト文字列:<input type="text" id="text"></p> <p>検索する文字列:<input type="text" id="keyword"></p> <button onclick="search()">検索</button> <p>検出した文字列の個数:<span id="count"></span></p> <p>プリセット登録:<input type="text" id="preset"><button onclick="addPreset()">登録</button></p> <h2>登録したプリセット</h2> <table> <thead> <tr> <th>プリセット名</th> <th>操作</th> </tr> </thead> <tbody id="presetList"> </tbody> </table> <script> let presets = []; // 登録したプリセット // 検索を実行し、検出した文字列の個数を表示する function search() { let text = document.getElementById("text").value; let keyword = document.getElementById("keyword").value; let regex = new RegExp(keyword, "g"); let count = (text.match(regex) || []).length; document.getElementById("count").textContent = count; } // プリセットを登録し、一覧に表示する function addPreset() { let preset = document.getElementById("preset").value; if (presets.includes(preset)) { alert("既に登録されたプリセットです。"); return; } presets.push(preset); updatePresetList(); } // プリセットの一覧を更新する function updatePresetList() { let presetList = document.getElementById("presetList"); presetList.innerHTML = ""; for (let i = 0; i < presets.length; i++) { let tr = document.createElement("tr"); let name = document.createElement("td"); let buttonTd = document.createElement("td"); let button = document.createElement("button"); name.textContent = presets[i]; button.textContent = "読み込み"; button.onclick = function() { document.getElementById("preset").value = presets[i]; search(); }; buttonTd.appendChild(button); tr.appendChild(name); tr.appendChild(buttonTd); presetList.appendChild(tr); } } </script> </body> </html>