在javascript中,如何操作用户输入的多行字符串?

时间:2014-01-07 03:44:56

标签: javascript string multiline

有问题的代码如下:

  <head>
    <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
    <script>
    var convert = function(){
        var str = $('#input')[0].value;
        n=str.replace("p","div");
        $("#output")[0].value = n;
    }
    </script>
  </head>
  <body>
  <textarea style="width:600px;height:800px;float:left" id="input"></textarea>
  <textarea style="width:600px;height:800px" id="output"></textarea>
  <button onclick="convert();" style="width:60px;height=40px">convert</button>

我打算使用此代码从用户那里获取输入,并用“div”替换其中的所有“p”。但是,如果输入有多行,则输出与输入完全相同。所以我去搜索如何在javascript中操作多行字符串。我找到了......但它们主要是关于如何使用已知的多行字符串创建新的字符串变量,并且它们都不会对我的问题有所帮助。

在我看来,用户输入多行字符串已成功分配给函数中的str,问题是str.replace()不能正常工作。这是因为str是一个多行字符串?(并且是一个多行字符串(我甚至不确定这个)?)如果是,我怎么能实现这一点?

1 个答案:

答案 0 :(得分:0)

您是否只是在寻找全球替代品?

n=str.replace(/p/g,"div");

Live demo here (click). 输入的所有“p”都会转换为“div”,无论它们在哪一行。

以下是str.replace()上的一些文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace