2015-09-06 83 views
0

我總是喜歡javascript,需要一些方向。我應該使用replace()方法嗎?

我努力做到以下幾點:

創建3個文本框:

  • 用戶在第一個文本框中的字符串。
  • 用戶在第二個文本框中輸入要替換的字符串(第一個字符串的一部分)。
  • 用戶輸入要插入到第三個文本框中的新字符串。

按鈕 - 調用一個函數來執行替換並以全部大寫顯示結果。

我使用document.querySelector("myID").value;來獲取輸入的值,但我不確定是否應該使用replace()。或者如果變量需要轉換爲其他東西。 (非常困惑)

如果任何人都可以指出我在正確的方向,將不勝感激。

+3

是的,你應該。 – Purag

+3

告訴我們我們的代碼,所以它可以得到更好的回答。更好的是,把它放在JsFiddle上。 –

回答

0

默認情況下,JavaScript在給定字符串操作時將所有內容都識別爲字符串。在這種情況下,您可以直接使用replace()方法而不進行任何轉換。

1

你可以使用這樣的事情:

<body> 
    <textarea id="textArea" ></textarea><br> 
    <input id="input1" /><br> 
    <input id="input2" /><br> 
    <input type="button" value="Replace" onclick="doReplace()" /> 
    <div id="output">OUTPUT!</div> 

    <script> 
     function doReplace() { 
      var getById = document.getElementById.bind(document); 
      var get = function(id) { return getById(id).value }; 
      var text = get('textArea'), 
       input1 = get('input1'), 
       input2 = get('input2'), 
       div = getById('output'); 

      var regex = new RegExp(input1, "g"); // to replace globally you need this! 
      div.innerHTML = text.replace(regex, input2).toUpperCase(); 
     } 
    </script> 
</body> 

編輯:

jsfiddle.net

+0

您應該添加一個jsfiddle或代碼片段來演示您的代碼。 –

+0

@Daniel Cheung:謝謝你的評論。添加了jsfiddle鏈接。 –

+0

**有**沒有'innerText'屬性,但有一個'innerHTML'。你甚至測試過它嗎? :/ –