js如何識別出字串中的回車 \n並輸出換行
阿新 • • 發佈:2019-01-03
首先,關於\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; }
方法二能用,但太麻煩不推薦
處理後顯示效果成功換行