2015-10-22 2 views
0

Я использую метод replace, и, если я набираю «тестовый тест», только первый тест преобразуется в хорошее, поэтому он станет «хорошим тестом». Я в недоумении, почему это происходит. На вопрос стороны, если бы я добавил 20 других слов, которые хотел бы заменить, мне нужно было бы создать 20 разных str.replace?Простой Javascript для преобразования текстового поля html. Не работает дважды

<!DOCTYPE html> 
<html> 
<body> 

<p>Click the button to replace "Test" with "Good"</p> 

<textarea id="firstbox"></textarea> 
<textarea id="secondbox"></textarea> 

<button onclick="myFunction()">Change</button> 

<script> 
    function myFunction() { 
     var str = document.getElementById("firstbox").value.toLowerCase() 
     var res = str.replace("test", "good"); 
     document.getElementById("secondbox").value = res; 
    } 
</script> 

</body> 
</html> 

Любая помощь будет принята с благодарностью

ответ

2

Использование регулярных выражений, изменить "good" к /good/g

function myFunction() { 
 
     var str = document.getElementById("firstbox").value.toLowerCase() 
 
     var res = str.replace(/test/g, "good"); 
 
     document.getElementById("secondbox").value = res; 
 
    }
<p>Click the button to replace "Test" with "Good"</p> 
 

 
<textarea id="firstbox"></textarea> 
 
<textarea id="secondbox"></textarea> 
 

 
<button onclick="myFunction()">Change</button>

+0

Здравствуйте, вы знаете, как я мог поместить несколько замены строк, сортировать как перевод словаря. – Archie

+0

Не могли бы вы дать примеры? Вы имеете в виду, что хотите заменить несколько слов одним словом или у вас есть карта слов и переводов, которые вы хотите заменить (пример var map = {'test': 'good', 'test2': bad и т. Д.}) ? – depperm

Смежные вопросы