如何在文本区域中查找和替换(或附加)文本

时间:2013-10-09 09:11:07

标签: javascript jquery ruby-on-rails

我正在尝试使用缩短的网址替换文本区域(@user.website)中包含的网站网址(#mention)。如果网站(@user.website)实际存在于文本区域中,则它必须仅执行交换,否则它必须将短URL附加到文本区域的末尾。

$(function(){
  $(".short_url_link").click(function(){
  var mention = $("#mention");
  var previousText = mention.text();
  if (previousText.indexOf("<%= @user.website %>") >= 0) {
     var shortURL = $(this).text();
     var regex = new RegExp(("<%= @user.website %>").replace(/\//g, "\\/").replace(/\./g, '\\.'), "i");
     mention.val(previousText.replace(regex, shortURL));
   } else {
     mention.val( mention.val() + ' ' + $(this).text() );
   }
 });

});

我的功能不太对劲。如果网站网址位于文本区域的中间,它会删除新添加的短网址后的所有内容。如果网站网址不存在,它也不会添加正确的文本(似乎添加以前的选择)。我哪里错了?

0 个答案:

没有答案