【问题标题】:Writing \r in Javascript string在 Javascript 字符串中写入 \r
【发布时间】:2010-10-23 18:44:57
【问题描述】:

我想编写一个脚本,每次找到引号或 \r 时都会在字符串中添加一个反斜杠 ()。它适用于 " 和 ',但 我不知道如何为 \r 编写它。 有人可以帮助我吗?谢谢

<script type="text/javascript">
var test="Let\'s test if this \"works\" properly";
var escapedString = test.replace(/(['"])/g, "\\$1");
document.write(escapedString);
</script>

输出:让我们测试一下这个“工作”是否正常

【问题讨论】:

  • 您需要将"\r\n" 变为"\\\r\\\n",还是"\\r\\n"

标签: javascript replace return


【解决方案1】:

只需在方括号表达式中包含 \r。

<script type="text/javascript">
var test="Let\'s test if this \"works\" properly";
var escapedString = test.replace(/(['"\r])/g, "\\$1");
document.write(escapedString);
</script>

编辑添加基于事件的输入解决方案:

显然,您真正的意思是您想知道如何将事件侦听器添加到输入并让它在按键上工作。

<input type="text" onkeyup="keyUpHandler(event)"/>

然后这样处理:

function keyUpHandler(event) {
  event = event || window.event; // allowing for IE
  var kc = event.keyCode;
  var re = /[\r\n]+/;
  if kc.match(re) {
    // statements
  }
}

尝试类似的方法。希望这会有所帮助。

【讨论】:

  • 谢谢,但它不起作用。这是我的错,我没有正确解释。当我说“\r”时,我的意思是当你按 ENTER(新行)时。您建议的内容在字面上写为“\ r”时有效,但在找到新行时无效。你能帮助我吗?再次感谢。
  • 那么您要问的是如何监听onkeyup 事件并为此编写处理程序。在我上面的答案中添加了一个部分以帮助您入门。
  • 非常感谢您的帮助!!
  • @Arturo:不客气。如果此答案对您有所帮助,请考虑通过单击复选标记来支持或接受它。这将提高您的声誉,并使人们更有可能回答您未来的问题。
猜你喜欢
  • 2011-06-04
  • 1970-01-01
  • 2014-09-26
  • 1970-01-01
  • 2012-11-22
  • 1970-01-01
  • 1970-01-01
  • 2017-09-28
  • 1970-01-01
相关资源
最近更新 更多