1. 程式人生 > >js如何識別出字串中的回車 \n並輸出換行

js如何識別出字串中的回車 \n並輸出換行

首先,關於\n,\r,\r\n的區別請看這裡

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;
                    }

方法二能用,但太麻煩不推薦

處理後顯示效果成功換行