0

只是想知道每当用户将其粘贴到文本区域时,我将如何将 sitename.com 替换为 sitename2.com,即使在多行上也是如此。

例如,用户粘贴
sitename.com/index.php?v=somecrap
sitename.com/index.php?v=somecrap2
sitename.com/index.php?v=somecrap3

粘贴后它被替换为
sitename2.com/index.php?v=somecrap
sitename2.com/index.php?v=somecrap2
sitename2.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 回答