js如何识别出字符串中的回车 \n并输出换行

首先,关于\n,\r,\r\n的区别请看这里

https://blog.csdn.net/longforus/article/details/51925285

1.字符串中有“↵”符号

像这样的 var str="英雄联协议↵ ↵     在您向英雄联APP..."

这种只需要正则替换回车符就行了

str = str.replace(/↵/g,"
");

这种情况一般不会出现,主要说下第二种情况:

2.有时候后台传来的字符串数据中是有回车符的,我们想要的效果是有回车符则自动换行

js如何识别出字符串中的回车 \n并输出换行_第1张图片

js如何识别出字符串中的回车 \n并输出换行_第2张图片

直接将结果字符串放到div里并没有换行,所以需要将字符串处理一下。

我这里字符换中的回车符,表现为\n,而不是\n\r和\r

解决办法:

办法一:

str=str.replace(/\n/g,"
")

将\n全部替换成
,简单有效

补充:因为不同编辑输出的回车换行不太一样,如果你发现替换\n无效果,可以试着换成\r或者\r\n再看结果,总有一种可以替换成功

办法二:

需要循环字符换,将等于\n的字符串替换成“
”,重组字符串

var i;
                    var result = "";
                    var c;
                    for (i = 0; i < str.length; i++) {
                        c = str.substr(i, 1);
                        if ( c == "\n")
                            result = result + "
"; else if (c != "\r") result = result + c; }

方法二能用,但太麻烦不推荐

 

处理后显示效果成功换行

js如何识别出字符串中的回车 \n并输出换行_第3张图片

你可能感兴趣的:(js回车换行,前端)