我想从文本区域中获取文本,放入一个变量,将所有换行符(\ 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/