2014-04-03 20 views
5

Mam mały problem z jQuery. Chcę usunąć określony tekst z textarea. Sprawdź moje kody:Zastępowanie dokładnego tekstu z textarea

wartości textarea:

aa 

a 

aaa 

próbowałem to:

$("#id_list").val($("#id_list").val().replace("a", " ")); 

Kody powyższe działa tylko wtedy, gdy tekst w każdym wierszu jest wyjątkowy bez znaków pasujące z innych kwestia. Problem polega na tym, że powyższe kody usuwają pierwszą literę z aa, zamiast usuwania drugiej linii a. Jak mogę go zmusić do zastąpienia/usunięcia dokładnego słowa na linii z textarea? Każda pomoc byłaby bardzo cenna.

Odpowiedz

4

Użyj granicy wyrazów.

Wykonaj:

$("#id_list").val($("#id_list").val().replace(/\ba\b/g, " ")); 

który zastąpi tylko

Jeśli chcesz wymienić tylko jeden raz, usuń g z mojego regex.

Jeśli chcesz użyć ciągi przechowywane w zmiennej, to zrobić:

var word = "a"; 
var regex = new RegExp("\\b"+word+"\\b","g"); 
$("#id_list").val($("#id_list").val().replace(regex, " ")); 
+0

co jeśli tekst, który chcę usunąć z pola tekstowego jest przechowywany w zmiennej? – Clyde

+0

sprawdź moją edycję. @Clyde –

+0

Dziękuję bardzo. Jest doskonały. Pozdrawiam kumpla! – Clyde

2

Wystarczy użyć zamiast replace(/a/g, " ")). flaga/g oznacza, że ​​szukasz globalnie litery "a". Bez niego wystarczy wymienić pierwsze wystąpienie.

+0

co jeśli tekst, który chcę usunąć z textarea, jest przechowywany w zmiennej? – Clyde

+0

Tak jak powiedział Amit;) – Natalia

Powiązane problemy