关于换行符 \n 与 <br />

\njs里使如果直接在html里使用\n,无效
\r回车换行符‘\n’和回车符‘\r’的区别:在控制台程序里,回车的本意是将光标移动到屏幕最左边(此时光标的横坐标没有变),换行就是将光标移动到下一行(此时光标的纵坐标没有变),两者结合起来就实现了回车(省略说法)效果。
<br/>html里使用的换行符js里拼接使用无效

 以下是分别在js, html中使用这两个换行符来测试效果。

 【js代码】

alert('row1\nrow2');  alert('row1<br>row2'); 

 

【HTML代码】 

row1\nrow2 row1<br/>row2 

textarea中的换行

关于textarea中的换行,js中取到的是\r\n,一般 情况下是做以下处理后存到数据库,然后界面上直接展示(不需要做额外的\n转<br/>):

var txt = $("txtR") .val().replace(new RegExp("\n", "gm"),'<br/>');

此处的替换是简单替换,如果要过滤一下特殊字符,则需要添加另外的正则匹配来过滤。如下(以下参考link):

function replaceAll(s1,s2,s3){
var r = new RegExp(s2.replace(/([\(\)\[\]\{\}\^\$\+\-\*\?\.\"\'\|\/\\])/g,"\\$1"),"ig");
return s1.replace(r,s3);
}
使用方法:var a = replaceAll("你有$100.99吗?","$","¥");

也可以:
String.prototype.replaceAll = function(s1,s2){  
var r = new RegExp(s1.replace(/([\(\)\[\]\{\}\^\$\+\-\*\?\.\"\'\|\/\\])/g,"\\$1"),"ig");
return this.replace(r,s2);
}
使用方法:var a = "你有$100.99吗?".replaceAll("$","¥");
原文地址:https://www.cnblogs.com/timelyxyz/p/2735219.html