前端頁面試題答題區遇到()實現換行的方式
阿新 • • 發佈:2018-11-11
在一些題庫系統中,很容易遇到分條作答的現象,當大量的答案都只通過一段話顯示在一起的時候,很難讓人分清楚條理,關鍵字也不明顯,很容易出現錯判斷的現象,而通過括號大段的在一起也很難看,那麼怎樣才能實現分條作答的頁面呢?
思路如下:
1、給出規範,如遇到()代表答案內容中的一條;
2、推測特殊情況,考慮細節,當給出的1中情況出現其他特殊情況時,該怎樣解決,使用正則表示式判斷;
3、仿編譯原理,字元化解決問題,大事化小,小事化了。
例項:遇到()分條顯示,()內為文字則不換行,非文字則換行。
程式碼如下:
//換行效果實現 function NewLine(values) { var i; var result = ""; var c; var reg = /^[\u4e00-\u9fa5],{0,}$/; for (i = 0; i < values.length; i++) { c = values.substr(i, 1); b = values.substr(i+1,1); if(c == "(" || c == "("){ if((i>1)&&(b!="\r")){ if(!reg.test(b)){ result = result + "</br>" + c; }else{ result = result + c; } }else{ result = result + c; } }else{ result = result + c; } } return result; }