• ベストアンサー

テキストエリアの行頭行末に指定の文字を挿入

お世話になります。 テキストエリア内、全ての行頭行末に「■」を挿入する方法を教えていただけないでしょうか? テキストエディタで正規表現を使い変換していましたが、毎回変換対象を指定するのも億劫ですので、ローカルベースで動作するjavascriptでできたら・・・と思い投稿いたしました。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

何の工夫も無し <textarea id="hoge"></textarea> <button onclick="change();">change</button> <script type="text/javascript"> function change(){ document.getElementById("hoge").value = document.getElementById("hoge").value.replace(/(^.*$)/gm,"■"+"$1"+"■"); } </script> 元に戻す機能無し。 すでに、"■"があった時も追加してしまう。 空行にも追加してしまう。

bowwow555
質問者

お礼

早速回答いただきありがとうございます。 無事希望通りの動作いたしました。 自分で使うだけですので、これで十分です。 感謝♪

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

「特定の」テキストエリアという意味でよいですよね? こんな感じで・・・ <script> function add_square(){ var tag=document.getElementById("hoge"); v=tag.value; v=v.replace(/^(.+?)$/mg,"■$1■"); tag.value=v; } </script> <textarea id="hoge"> aaaa bbbb cccc </textarea> <input type="button" onclick="add_square()" value="add square">

bowwow555
質問者

お礼

早速回答いただきありがとうございます。 同じ動作なのにまた違った書き方があるのですね、大変参考になります。 ベストアンサーは先に回答頂いた方につけますが、申し訳ありません。(二つつけれたらいいのですが。) 感謝♪

関連するQ&A