将 转换为字符串在 jquery 中不执行任何操作

Convert to string does nothing in jquery

本文关键字:执行 任何 操作 jquery 转换 字符串      更新时间:2023-09-26

我想从我的文本区域中获取文本,放入一个变量,将所有换行符('''r)更改为"@@"。
由于某种原因,它不起作用。

请帮忙,这里有一个小提琴:http://jsfiddle.net/HK82q/

$("#go").click(function(){
 curtext = $("textarea").val();
 curtext = curtext.replace("'n'r'n","@@");
 alert(curtext);
});
"

换行符"可能意味着以下三种情况之一:

  • 'r(回车),由旧 Mac 计算机使用
  • 'n(换行),被Linux,Unix和我认为新的Mac使用。
  • 'r'n(CRLF),由Windows使用

因此,您需要处理所有三种情况。这可以通过多个.replace调用或正则表达式来完成:

curtext = curtext.replace(/(?=['r'n])'r?'n?/g,"@@");

此正则表达式的工作原理是首先断言前面有 CR 或 LF,然后选择性地匹配它们以允许所有三个选项。断言确保"无"不匹配。

你期待遇到一个'n,然后是'r。错了。您应该期待其中之一。然后,replace函数的正则表达式应该用/而不是"括起来。它不是一个字符串。最后一件事 - 添加 g 修饰符(代表全局 - 将替换所有出现的情况,而不仅仅是第一个)。

curtext = curtext.replace(/['n'r]/g,"@@");

这是更新的小提琴: http://jsfiddle.net/HK82q/1/