我应该使用replace()方法吗?

时间:2015-09-06 04:09:08

标签: javascript

我是javascript的总菜鸟,需要一些指导。

我正在尝试执行以下操作:

创建3个文本框:

  • 用户在第一个文本框中输入字符串。
  • 用户在第二个文本框中输入要替换的字符串(第一个字符串的一部分)。
  • 用户输入要在第三个文本框中插入的新字符串。

按钮 - 调用函数执行替换并以全部大写显示结果。

我正在使用document.querySelector("myID").value;来获取输入的值,但我不确定我是否应该使用replace()。或者,如果变量需要转换为其他内容。 (非常困惑)

如果有人能指出我正确的方向,我将不胜感激。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

默认情况下,当给定字符串操作时,Javascript会将所有内容识别为字符串。在这种情况下,您可以直接使用replace()方法而无需任何转换。