首先,关于\n,\r,\r\n的区别请看这里
关于/r与/n 以及 /r/n 的区别总结_long for us-CSDN博客
1.字符串中有“↵”符号
像这样的 var str="英雄联协议↵ ↵ 在您向英雄联APP..."
这种只需要正则替换回车符就行了
str = str.replace(/↵/g,"<br/>");
这种情况一般不会出现,主要说下第二种情况:
2.有时候后台传来的字符串数据中是有回车符的,我们想要的效果是有回车符则自动换行
直接将结果字符串放到div里并没有换行,所以需要将字符串处理一下。
我这里字符换中的回车符,表现为\n,而不是\n\r和\r
解决办法:
办法一:
str=str.replace(/\n/g,"<br/>")
将\n全部替换成</br>,简单有效
补充:因为不同编辑输出的回车换行不太一样,如果你发现替换\n无效果,可以试着换成\r或者\r\n再看结果,总有一种可以替换成功
办法二:
需要循环字符换,将等于\n的字符串替换成“<br/>”,重组字符串
var i;var result = "";var c;for (i = 0; i < str.length; i++) {c = str.substr(i, 1);if ( c == "\n")result = result + "</br>";else if (c != "\r")result = result + c;}
方法二能用,但太麻烦不推荐
处理后显示效果成功换行
云服务器ESC购买地址:云服务器ECS_云主机_服务器托管_弹性计算-阿里云
对象存储oss购买地址:对象存储OSS_云存储服务_企业数据管理_存储-阿里云
SSL证书购买地址:证书服务_SSL数字证书_HTTPS加密_服务器证书_CA认证-阿里云
CDN云产品购买地址 :CDN_内容分发网络_CDN网站加速-阿里云