0

複数行であっても、ユーザーがテキストエリアに貼り付けるたびにsitename.comをsitename2.comに置き換える方法を知りたかっただけです。

たとえば、ユーザーが
sitename.com/index.php?v=somecrap
sitename.com/index.php?v=somecrap2sitename.com/index.php?v=somecrap3を貼り付け
ます


貼り付けると、sitename2.com / index.php?v = somecrap
sitename2.com/index.php?v=somecrap2sitename2.com/index.php?v=somecrap3に置き換えられ
ます

javascriptで可能かどうか教えてください。

ありがとう

4

2 に答える 2

1

「onchange」ハンドラーと正規表現の巧妙な組み合わせで可能になるはずです。例を含むjqueryスニペット:

function replacer() {
    var txt = $(this).val ();
    txt = txt.replace ( /sitename\.com/g, 'sitename2\.com' );
    $(this).val ( txt );    
} 

$('textarea').mouseup ( replacer ).keyup (replacer);​

ここ: http: //jsfiddle.net/u97WD/4/

于 2012-06-08T08:15:36.187 に答える
0

pasteイベントを使ってみませんか?

ただし、貼り付けが完了する前に起動します。貼り付けたコンテンツを編集するには、完了するsetTimeoutまで待つ必要があります。

JSFiddle

var pasted = document.getElementById("pasted"),
    replace = function() {
      pasted.value = pasted.value.replace(/sitename\.com/g, "sitename2.com");
    };
pasted.addEventListener("paste", function () {
  // Wait to the pasting completed
  setTimeout(replace, 0);
}, false);
于 2012-06-08T08:48:53.050 に答える