问:使用jquery查找和替换

时间:2015-03-20 06:08:23

标签: jquery html

您好我想使用jquery查找和替换,我的代码是这样的:

<input id="find" style="width:100%; height:100%;" value="apple!" />

<input id="replace" style="width:100%; height:100%;" value="apples!" />

<textarea id="input" rows="4" style="width:150px; height:100px; resize:none;" wrap="off">Give me some apple</textarea>
  

查找: apple!

     

替换为:苹果!

     

输入文字:给我一些苹果!

     

结果:给我一些苹果!

4 个答案:

答案 0 :(得分:1)

您希望将apple!替换为apples!,但在您的文字区域中,您只有apple而不是apple!(带感叹号)。因此,请将!添加到您的文字区域,或从输入字段中删除,然后尝试以下代码

$(function(){
    $('#replaceBtn').click(function(){
         var findText = $('#find').val();
         var replaceText = $('#replace').val();
         var inputText = $('#input').val();
         inputText = inputText.replace(findText, replaceText);
         $('#input').val(inputText);
    });
});

<强> JSFiddle Demo

注意 - 假设您正在执行此操作替换某些按钮单击。我在演示中使用了Replace按钮。另请注意,此替换区分大小写。

编辑 - 以上解决方案将仅替换第一次出现的单词,以替换您需要使用的所有事件RegEx因此替换下面的行

inputText = inputText.replace(findText, replaceText);

inputText = inputText.replace(new RegExp(findText, 'g'), replaceText);

<强> JSFiddle Demo with RegEx

答案 1 :(得分:0)

 $("body").find("#input").replaceWith("");

如果你想替换“给我一些苹果”,我不知道你想要替换的是什么,那么你可以使用这个代码,或者如果你想要一些东西“给我一些苹果”,那么你可以在replaceWith();

中放置文本

答案 2 :(得分:0)

对Bhushan Kawadkar代码块的小修改。这将取代所有的苹果!单击即可。

$(function(){
 $('#replaceBtn').click(function(){
     var findText = $('#find').val();
     var replaceText = $('#replace').val();
     var textarea = $('#input');
   textarea.val(textarea.val().replace(new RegExp(findText,"g"),replaceText)); 
  });
 });
&#34; g&#34;修饰符将执行全局搜索。

答案 3 :(得分:0)

试试此代码

var find =$("#find").val();
var replace = $("#replace").val();
if($("#input").val().contains(find))
{
    $("#input").val($("#input").val().replace(find,replace));
}

<强> Demo

相关问题