我想从文本区域中获取文本,放入一个变量,将所有换行符(\ n \ 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使用
Windows使用的\r\n(CRLF)


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

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


此正则表达式的工作方式是先声明前面有CR或LF,然后可选地匹配它们以允许所有三个选项。该断言确保“没有”不匹配。

关于javascript - 将\n\r转换为字符串在jquery中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19788388/

10-11 20:31