【お知らせ】まとめて検索などの提供終了

お世話になります。
テキストエリア内、全ての行頭行末に「■」を挿入する方法を教えていただけないでしょうか?

テキストエディタで正規表現を使い変換していましたが、毎回変換対象を指定するのも億劫ですので、ローカルベースで動作するjavascriptでできたら・・・と思い投稿いたしました。

よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

何の工夫も無し



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

元に戻す機能無し。
すでに、"■"があった時も追加してしまう。
空行にも追加してしまう。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/11/26 15:58

「特定の」テキストエリアという意味でよいですよね?


こんな感じで・・・

<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">
    • good
    • 0
この回答へのお礼

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

感謝♪

お礼日時:2010/11/26 16:01

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QJavaScriptで文字列の特定文字以降を取得する方法

変数 url に以下のような文字列が代入されています。
var url='http://www.example.com?id=2&page=3';

ここから?以降の文字列だけを取得したいのですが、どのようにすれば良いのでしょうか?
「id=2&page=3」←このような結果が欲しいです。

ブラウザのurlから直接?以降を取得するには location.search を使えば良いというのは調べてわかりましたが、変数に文字列としてurlが代入された場合の方法がわかりません。

ご回答よろしくお願いいたします。

Aベストアンサー

文字列から抽出するのであれば、indexOfを使うか正規表現かでしょうね
深く考えなければ前者、複雑なデータを取りたいなら後者でしょうか

<script>
var url='http://www.example.com?id=2&page=3';
if(url.indexOf("?")>=0){
var str1=url.substring(url.indexOf("?")+1,url.length);
}
document.write(str1+"<br>");

var reg=new RegExp("\\?(.+?)$");
if(url.match(reg)){
var str2=url.match(reg)[1];
}
document.write(str2);
</script>

Q【JavaScript】指定箇所に文字列挿入の方法

★文字列1★文字列2★文字列3★文字列4★文字列5★文字列6★文字列7★

上記のような文字列で「文字列」の部分はどんな文字が入っているかわかりません。
★の数は決まっていて文字列は★に挟まれています。

例えば「文字列4」の部分に任意の文字列例えば「あああ」を挿入したい場合どうすればよろしいでしょうか。
例:★文字列1★文字列2★文字列3★あああ文字列4★文字列5★文字列6★文字列7★
文字列4の先頭に挿入したい場合、4つ目の★の後に文字列を挿入するとすれば良いと思っています。

例:★文字列1★文字列2★文字列3★文字列4あああ★文字列5★文字列6★文字列7★
文字列4の後ろに挿入したい場合、5つ目の★の前に文字列を挿入するとすれば良いと思っています。

上記をJavaScriptで行うにはどう書けばよいでしょうか。
ご教授お願いします。

Aベストアンサー

function 指定箇所に文字列を挿入(str, sepa, index, pref, suff) {
var a = str.split(sepa);
a[index] = pref + a[index] + suff;
return a.join(sepa);
}
var s = '★文字列1★文字列2★文字列3★文字列4★文字列5★文字列6★文字列7★';
var s1 = 指定箇所に文字列を挿入(s, '★', 4, 'あああ', ''); // ... ★あああ文字列4★ ...
var s2 = 指定箇所に文字列を挿入(s, '★', 4, '', 'あああ'); // ... ★文字列4あああ★ ...

QonClickに複数の関数を挿入する方法

初心者なのですがアニメーションの関数anime1、anime2、anime3を作成し、onClickに下記のように設定しました。
クリックするとアニメーション2つの設定ではは動くのですが、3つ目を設定すると動かなくなります。
通常はこのような設定はしないものなのでしょうか?
教えてください。
よろしくお願いします。
<INPUT type="button" value="START" onClick="anime1(), anime2()">・・・OKです。
<INPUT type="button" value="START" onClick="anime1(), anime2(),anime3()">・・・動きません。

Aベストアンサー

セミコロンでつなぐのが常道ですが、3つ以上なら
別途function化したほうが、可読性が高くなると
思います。

Q【正規表現】【javascript】CR、CR・LF、LF改行コードをLFにしたい

CR、CR+LF、LFのシステムによって異なる3種類の改行コードを
LFに置換したいです。

変数hogeに置換対象の文字列が入っているとして、
hoge.replace(/\r\n/g,"\n").replace(/\r|\n/g,"\n");
とreplaceを使って置換してみました。

うまくいってるようですが、replaceを二度使ってるところが、カッコ悪いなぁと思います。

replace一回ですむような方法がありましたら教えてください。

Aベストアンサー

hoge.replace(/\r\n?/g,"\n");

Q同じIDで定義した要素の配列を取得したいが

お世話になります。

ドキュメントで、IDに同じ名前を振付けることで
配列になっている要素を取得する方法を教えたください。

例)
<div id="sec1">あああああ</div>
<div id="sec1">いいいいい</div>
<div id="sec1">ううううう</div>
<div id="sec1">えええええ</div>

上記のようなケースだと、「sec1」が配列となって、
定義されますが、実際に取得して使う場合です。

getElementById("sec1")だとnullになりますが、
getElementById("sec1[0]")だと一つずつは取得できます。

これをまとめて配列として取得する方法をお願いいたします。

初心者ですみません。

Aベストアンサー

まず前提としてidは同一ページ内で一意だよ。

だから例に示すケースはあっちゃだめ。

やるとしたらclass="sec1"にして
document.getElementByClassName('sec1');

で取得するべき。
これなら配列で取れる。

Q